Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/external/bsd/drm2/dist/drm/radeon Fix loading TAHITI VCE...
details: https://anonhg.NetBSD.org/src/rev/047e57101b15
branches: trunk
changeset: 968528:047e57101b15
user: jmcneill <jmcneill%NetBSD.org@localhost>
date: Sun Jan 19 11:07:00 2020 +0000
description:
Fix loading TAHITI VCE firmware.
diffstat:
sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c | 40 ++++++++++++---------
1 files changed, 22 insertions(+), 18 deletions(-)
diffs (73 lines):
diff -r 3b31429898d8 -r 047e57101b15 sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c
--- a/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c Sun Jan 19 10:59:56 2020 +0000
+++ b/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c Sun Jan 19 11:07:00 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: radeon_vce.c,v 1.3 2018/08/27 04:58:36 riastradh Exp $ */
+/* $NetBSD: radeon_vce.c,v 1.4 2020/01/19 11:07:00 jmcneill Exp $ */
/*
* Copyright 2013 Advanced Micro Devices, Inc.
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: radeon_vce.c,v 1.3 2018/08/27 04:58:36 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: radeon_vce.c,v 1.4 2020/01/19 11:07:00 jmcneill Exp $");
#include <linux/firmware.h>
#include <linux/module.h>
@@ -53,34 +53,38 @@
#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
Home |
Main Index |
Thread Index |
Old Index