Module Name: src
Committed By: martin
Date: Mon Mar 23 10:16:01 UTC 2020
Modified Files:
src/sys/external/bsd/drm2/dist/drm/radeon [netbsd-8]: radeon_vce.c
Log Message:
Pull up following revision(s) (requested by mrg in ticket #1523):
sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c: revision 1.4
Fix loading TAHITI VCE firmware.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.24.1 \
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c
diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c:1.2 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c:1.2.24.1
--- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c:1.2 Wed Jul 16 20:59:57 2014
+++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c Mon Mar 23 10:16:01 2020
@@ -46,34 +46,38 @@ static void radeon_vce_idle_work_handler
#ifdef __NetBSD__ /* XXX Ugh! */
static bool
-scan_2dec_u8(const char **sp, char delim, uint8_t *u8p)
+scan_2dec_uint(const char **sp, char delim, unsigned int *uintp)
{
- char c0, c1;
+ u_int val = 0, n;
+ char c;
- if (!isdigit((unsigned char)(c0 = *(*sp)++)))
- return false;
- if (!isdigit((unsigned char)(c1 = *(*sp)++)))
- return false;
- if (*(*sp)++ != delim)
+ for (n = 0; n < 2; n++) {
+ c = *(*sp)++;
+ if (!isdigit((unsigned char)c))
+ return false;
+ if (n != 0)
+ val *= 10;
+ val += (c - '0');
+ if (*(*sp) == delim)
+ break;
+ }
+ if (*(*sp) != delim)
return false;
- *u8p = ((c0 - '0') * 10) + (c1 - '0');
+ (*sp)++;
+ *uintp = val;
return true;
}
static bool
-scan_2dec_uint(const char **sp, char delim, unsigned int *uintp)
+scan_2dec_u8(const char **sp, char delim, uint8_t *u8p)
{
- char c0, c1;
+ unsigned int val;
- if (!isdigit((unsigned char)(c0 = *(*sp)++)))
- return false;
- if (!isdigit((unsigned char)(c1 = *(*sp)++)))
- return false;
- if (*(*sp)++ != delim)
+ if (!scan_2dec_uint(sp, delim, &val))
return false;
- *uintp = ((c0 - '0') * 10) + (c1 - '0');
+ *u8p = (uint8_t)val;
return true;
}
#endif