CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm/i915
Module Name:src Committed By: martin Date: Wed Aug 3 15:47:49 UTC 2022 Modified Files: src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-9]: i915_drv.h Log Message: Apply patch, requested by riastradh in ticket #1491: sys/external/bsd/drm2/dist/drm/i915/i915_drv.h (apply patch) Fix newlines in i915 console messages To generate a diff of this commit: cvs rdiff -u -r1.29.2.2 -r1.29.2.3 \ src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h 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/i915/i915_drv.h diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h:1.29.2.2 src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h:1.29.2.3 --- src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h:1.29.2.2 Mon Jun 21 16:41:02 2021 +++ src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h Wed Aug 3 15:47:48 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: i915_drv.h,v 1.29.2.2 2021/06/21 16:41:02 martin Exp $ */ +/* $NetBSD: i915_drv.h,v 1.29.2.3 2022/08/03 15:47:48 martin Exp $ */ /* i915_drv.h -- Private header for the I915 driver -*- linux-c -*- */ @@ -84,11 +84,11 @@ BUILD_BUG_ON(__i915_warn_cond); \ WARN(__i915_warn_cond, "WARN_ON(" #x ")"); }) #else -#define WARN_ON(x) WARN((x), "WARN_ON(%s)", #x ) +#define WARN_ON(x) WARN((x), "WARN_ON(%s)\n", #x ) #endif #undef WARN_ON_ONCE -#define WARN_ON_ONCE(x) WARN_ONCE((x), "WARN_ON_ONCE(%s)", #x ) +#define WARN_ON_ONCE(x) WARN_ONCE((x), "WARN_ON_ONCE(%s)\n", #x ) #define MISSING_CASE(x) WARN(1, "Missing switch case (%lu) in %s\n", \ (long) (x), __func__);
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm/i915
Module Name:src Committed By: martin Date: Wed Aug 3 15:47:49 UTC 2022 Modified Files: src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-9]: i915_drv.h Log Message: Apply patch, requested by riastradh in ticket #1491: sys/external/bsd/drm2/dist/drm/i915/i915_drv.h (apply patch) Fix newlines in i915 console messages To generate a diff of this commit: cvs rdiff -u -r1.29.2.2 -r1.29.2.3 \ src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm/i915
Module Name:src Committed By: martin Date: Mon Jun 21 16:41:02 UTC 2021 Modified Files: src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-9]: i915_drv.h Log Message: Pull up following revision(s) (requested by riastradh in ticket #1300): sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.33 (patch) i915drmkms: Fix LOCKDEBUG panic and potential deadlock. This path is taken with a spin lock held, and possibly even in interrupt context, where taking vmobjlock is not kosher, but we are guaranteed to have the queue populated and unchanging. XXX pullup-9 To generate a diff of this commit: cvs rdiff -u -r1.29.2.1 -r1.29.2.2 \ src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm/i915
Module Name:src Committed By: martin Date: Mon Jun 21 16:41:02 UTC 2021 Modified Files: src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-9]: i915_drv.h Log Message: Pull up following revision(s) (requested by riastradh in ticket #1300): sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.33 (patch) i915drmkms: Fix LOCKDEBUG panic and potential deadlock. This path is taken with a spin lock held, and possibly even in interrupt context, where taking vmobjlock is not kosher, but we are guaranteed to have the queue populated and unchanging. XXX pullup-9 To generate a diff of this commit: cvs rdiff -u -r1.29.2.1 -r1.29.2.2 \ src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h 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/i915/i915_drv.h diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h:1.29.2.1 src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h:1.29.2.2 --- src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h:1.29.2.1 Thu Dec 12 21:00:32 2019 +++ src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.h Mon Jun 21 16:41:02 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: i915_drv.h,v 1.29.2.1 2019/12/12 21:00:32 martin Exp $ */ +/* $NetBSD: i915_drv.h,v 1.29.2.2 2021/06/21 16:41:02 martin Exp $ */ /* i915_drv.h -- Private header for the I915 driver -*- linux-c -*- */ @@ -3021,9 +3021,10 @@ i915_gem_object_get_page(struct drm_i915 * lock to prevent them from disappearing. */ KASSERT(obj->pages != NULL); - mutex_enter(obj->base.filp->vmobjlock); - page = uvm_pagelookup(obj->base.filp, ptoa(n)); - mutex_exit(obj->base.filp->vmobjlock); + TAILQ_FOREACH(page, >pageq, pageq.queue) { + if (n-- == 0) +break; + } } KASSERT(page != NULL); return container_of(page, struct page, p_vmp);
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm/i915
Module Name:src Committed By: martin Date: Sun Nov 29 11:34:04 UTC 2020 Modified Files: src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-9]: intel_sprite.c Log Message: Pull up following revision(s) (requested by maya in ticket #1136): sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c: revision 1.11 Match linux here and wait without interrupts. >From David H. Gutteridge in PR port-amd64/5 There's a second part to the patch, but "make our code behave the way the upstream code does" is very welcome. Also PR kern/54515 and possibly others. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.9.4.1 \ src/sys/external/bsd/drm2/dist/drm/i915/intel_sprite.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/i915/intel_sprite.c diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c:1.9 src/sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c:1.9.4.1 --- src/sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c:1.9 Mon Aug 27 15:09:35 2018 +++ src/sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c Sun Nov 29 11:34:04 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: intel_sprite.c,v 1.9 2018/08/27 15:09:35 riastradh Exp $ */ +/* $NetBSD: intel_sprite.c,v 1.9.4.1 2020/11/29 11:34:04 martin Exp $ */ /* * Copyright © 2011 Intel Corporation @@ -32,7 +32,7 @@ * support. */ #include -__KERNEL_RCSID(0, "$NetBSD: intel_sprite.c,v 1.9 2018/08/27 15:09:35 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: intel_sprite.c,v 1.9.4.1 2020/11/29 11:34:04 martin Exp $"); #include #include @@ -124,7 +124,7 @@ void intel_pipe_update_start(struct inte trace_i915_pipe_update_start(crtc); #ifdef __NetBSD__ - DRM_SPIN_TIMED_WAIT_UNTIL(ret, wq, >vbl_lock, timeout, + DRM_SPIN_TIMED_WAIT_NOINTR_UNTIL(ret, wq, >vbl_lock, timeout, (scanline = intel_get_crtc_scanline(crtc), scanline < min || scanline > max)); if (ret <= 0)
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm/i915
Module Name:src Committed By: martin Date: Sun Nov 29 11:34:04 UTC 2020 Modified Files: src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-9]: intel_sprite.c Log Message: Pull up following revision(s) (requested by maya in ticket #1136): sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c: revision 1.11 Match linux here and wait without interrupts. >From David H. Gutteridge in PR port-amd64/5 There's a second part to the patch, but "make our code behave the way the upstream code does" is very welcome. Also PR kern/54515 and possibly others. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.9.4.1 \ src/sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm/radeon
Module Name:src Committed By: martin Date: Thu Feb 27 18:57:21 UTC 2020 Modified Files: src/sys/external/bsd/drm2/dist/drm/radeon [netbsd-9]: radeon_irq_kms.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #740): sys/external/bsd/drm2/dist/drm/radeon/radeon_irq_kms.c: revision 1.5 Take a mutex around mode config logic as the comment advises. XXX pullup To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.4.4.1 \ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_irq_kms.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_irq_kms.c diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_irq_kms.c:1.4 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_irq_kms.c:1.4.4.1 --- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_irq_kms.c:1.4 Mon Aug 27 07:03:26 2018 +++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_irq_kms.c Thu Feb 27 18:57:20 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: radeon_irq_kms.c,v 1.4 2018/08/27 07:03:26 riastradh Exp $ */ +/* $NetBSD: radeon_irq_kms.c,v 1.4.4.1 2020/02/27 18:57:20 martin Exp $ */ /* * Copyright 2008 Advanced Micro Devices, Inc. @@ -28,7 +28,7 @@ * Jerome Glisse */ #include -__KERNEL_RCSID(0, "$NetBSD: radeon_irq_kms.c,v 1.4 2018/08/27 07:03:26 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: radeon_irq_kms.c,v 1.4.4.1 2020/02/27 18:57:20 martin Exp $"); #include #include @@ -107,11 +107,12 @@ static void radeon_dp_work_func(struct w struct drm_mode_config *mode_config = >mode_config; struct drm_connector *connector; - /* this should take a mutex */ + mutex_lock(_config->mutex); if (mode_config->num_connector) { list_for_each_entry(connector, _config->connector_list, head) radeon_connector_hotplug(connector); } + mutex_unlock(_config->mutex); } /** * radeon_driver_irq_preinstall_kms - drm irq preinstall callback
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm/radeon
Module Name:src Committed By: martin Date: Thu Feb 27 18:57:21 UTC 2020 Modified Files: src/sys/external/bsd/drm2/dist/drm/radeon [netbsd-9]: radeon_irq_kms.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #740): sys/external/bsd/drm2/dist/drm/radeon/radeon_irq_kms.c: revision 1.5 Take a mutex around mode config logic as the comment advises. XXX pullup To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.4.4.1 \ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_irq_kms.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm
Module Name:src Committed By: martin Date: Fri Jan 31 11:28:38 UTC 2020 Modified Files: src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-9]: i915_gem_stolen.c i915_reg.h src/sys/external/bsd/drm2/dist/drm/radeon [netbsd-9]: radeon_atombios_dp.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #678): sys/external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c: revision 1.12 sys/external/bsd/drm2/dist/drm/radeon/radeon_atombios_dp.c: revision 1.2 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.9 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.12 Use unsigned to avoid undefined behavior in gen7_get_stolen_reserved(). Found by kUBSan. Use unsigned to avoid undefined behavior in g4x_update_wm(). Avoid undefined behavior in g4x_get_stolen_reserved(). The change is the same as newer i915_gem_stolen.c. Don't call memcpy() when the length is 0 (and the source pointer is NULL) in radeon_dp_aux_transfer_atom() to avoid undefined behavior. Found by kUBSan. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.11.4.1 \ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c cvs rdiff -u -r1.7.2.2 -r1.7.2.3 \ src/sys/external/bsd/drm2/dist/drm/i915/i915_reg.h cvs rdiff -u -r1.1 -r1.1.8.1 \ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_atombios_dp.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/i915/i915_gem_stolen.c diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c:1.11 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c:1.11.4.1 --- src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c:1.11 Thu Sep 13 08:25:55 2018 +++ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c Fri Jan 31 11:28:38 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: i915_gem_stolen.c,v 1.11 2018/09/13 08:25:55 mrg Exp $ */ +/* $NetBSD: i915_gem_stolen.c,v 1.11.4.1 2020/01/31 11:28:38 martin Exp $ */ /* * Copyright © 2008-2012 Intel Corporation @@ -29,7 +29,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: i915_gem_stolen.c,v 1.11 2018/09/13 08:25:55 mrg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: i915_gem_stolen.c,v 1.11.4.1 2020/01/31 11:28:38 martin Exp $"); #include #include @@ -308,18 +308,13 @@ static void g4x_get_stolen_reserved(stru unsigned long stolen_top = dev_priv->mm.stolen_base + dev_priv->gtt.stolen_size; - *base = (reg_val & G4X_STOLEN_RESERVED_ADDR2_MASK) << 16; + if (!(reg_val & G4X_STOLEN_RESERVED_ADDR2_MASK)) + return; + *base = (reg_val & G4X_STOLEN_RESERVED_ADDR2_MASK) << 16; WARN_ON((reg_val & G4X_STOLEN_RESERVED_ADDR1_MASK) < *base); - /* On these platforms, the register doesn't have a size field, so the - * size is the distance between the base and the top of the stolen - * memory. We also have the genuine case where base is zero and there's - * nothing reserved. */ - if (*base == 0) - *size = 0; - else - *size = stolen_top - *base; + *size = stolen_top - *base; } static void gen6_get_stolen_reserved(struct drm_i915_private *dev_priv, Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_reg.h diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_reg.h:1.7.2.2 src/sys/external/bsd/drm2/dist/drm/i915/i915_reg.h:1.7.2.3 --- src/sys/external/bsd/drm2/dist/drm/i915/i915_reg.h:1.7.2.2 Fri Jan 31 11:25:09 2020 +++ src/sys/external/bsd/drm2/dist/drm/i915/i915_reg.h Fri Jan 31 11:28:38 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: i915_reg.h,v 1.7.2.2 2020/01/31 11:25:09 martin Exp $ */ +/* $NetBSD: i915_reg.h,v 1.7.2.3 2020/01/31 11:28:38 martin Exp $ */ /* Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. * All Rights Reserved. @@ -187,7 +187,7 @@ #define GEN6_STOLEN_RESERVED 0x1082C0 #define GEN6_STOLEN_RESERVED_ADDR_MASK (0xFFFUL << 20) -#define GEN7_STOLEN_RESERVED_ADDR_MASK (0x3FFF << 18) +#define GEN7_STOLEN_RESERVED_ADDR_MASK (0x3FFFUL << 18) #define GEN6_STOLEN_RESERVED_SIZE_MASK (3 << 4) #define GEN6_STOLEN_RESERVED_1M (0 << 4) #define GEN6_STOLEN_RESERVED_512K (1 << 4) @@ -4616,7 +4616,7 @@ enum skl_disp_power_wells { #define DSPFW_SPRITEA_MASK (0x7f<<0) /* g4x */ #define DSPFW_SPRITEA_MASK_VLV (0xff<<0) /* vlv/chv */ #define DSPFW3 (dev_priv->info.display_mmio_offset + 0x7003c) -#define DSPFW_HPLL_SR_EN (1<<31) +#define DSPFW_HPLL_SR_EN (1U<<31) #define PINEVIEW_SELF_REFRESH_EN (1<<30) #define DSPFW_CURSOR_SR_SHIFT 24 #define DSPFW_CURSOR_SR_MASK (0x3f<<24) Index: src/sys/external/bsd/drm2/dist/drm/radeon/radeon_atombios_dp.c diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_atombios_dp.c:1.1 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_atombios_dp.c:1.1.8.1 --- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_atombios_dp.c:1.1 Mon Aug 27 14:38:20 2018 +++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_atombios_dp.c Fri Jan 31 11:28:38
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm
Module Name:src Committed By: martin Date: Fri Jan 31 11:28:38 UTC 2020 Modified Files: src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-9]: i915_gem_stolen.c i915_reg.h src/sys/external/bsd/drm2/dist/drm/radeon [netbsd-9]: radeon_atombios_dp.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #678): sys/external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c: revision 1.12 sys/external/bsd/drm2/dist/drm/radeon/radeon_atombios_dp.c: revision 1.2 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.9 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.12 Use unsigned to avoid undefined behavior in gen7_get_stolen_reserved(). Found by kUBSan. Use unsigned to avoid undefined behavior in g4x_update_wm(). Avoid undefined behavior in g4x_get_stolen_reserved(). The change is the same as newer i915_gem_stolen.c. Don't call memcpy() when the length is 0 (and the source pointer is NULL) in radeon_dp_aux_transfer_atom() to avoid undefined behavior. Found by kUBSan. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.11.4.1 \ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c cvs rdiff -u -r1.7.2.2 -r1.7.2.3 \ src/sys/external/bsd/drm2/dist/drm/i915/i915_reg.h cvs rdiff -u -r1.1 -r1.1.8.1 \ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_atombios_dp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm/radeon
Module Name:src Committed By: martin Date: Tue Jan 21 15:35:39 UTC 2020 Modified Files: src/sys/external/bsd/drm2/dist/drm/radeon [netbsd-9]: radeon_vce.c Log Message: Pull up following revision(s) (requested by jmcneill in ticket #634): 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.3 -r1.3.4.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.3 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c:1.3.4.1 --- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c:1.3 Mon Aug 27 04:58:36 2018 +++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c Tue Jan 21 15:35:39 2020 @@ -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.3.4.1 2020/01/21 15:35:39 martin Exp $ */ /* * Copyright 2013 Advanced Micro Devices, Inc. @@ -28,7 +28,7 @@ */ #include -__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.3.4.1 2020/01/21 15:35:39 martin Exp $"); #include #include @@ -53,34 +53,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, )) return false; - *uintp = ((c0 - '0') * 10) + (c1 - '0'); + *u8p = (uint8_t)val; return true; } #endif
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm/radeon
Module Name:src Committed By: martin Date: Tue Jan 21 15:35:39 UTC 2020 Modified Files: src/sys/external/bsd/drm2/dist/drm/radeon [netbsd-9]: radeon_vce.c Log Message: Pull up following revision(s) (requested by jmcneill in ticket #634): 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.3 -r1.3.4.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.
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm
Module Name:src Committed By: martin Date: Sun Nov 10 13:12:57 UTC 2019 Modified Files: src/sys/external/bsd/drm2/dist/drm [netbsd-9]: drm_fb_helper.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #408): sys/external/bsd/drm2/dist/drm/drm_fb_helper.c: revision 1.13 Avoid null pointer dereference found by kUBSan with "member access within null pointer of type 'struct drm_fb_helper_crtc'". To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.12.4.1 \ src/sys/external/bsd/drm2/dist/drm/drm_fb_helper.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/drm_fb_helper.c diff -u src/sys/external/bsd/drm2/dist/drm/drm_fb_helper.c:1.12 src/sys/external/bsd/drm2/dist/drm/drm_fb_helper.c:1.12.4.1 --- src/sys/external/bsd/drm2/dist/drm/drm_fb_helper.c:1.12 Mon Aug 27 13:37:21 2018 +++ src/sys/external/bsd/drm2/dist/drm/drm_fb_helper.c Sun Nov 10 13:12:57 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: drm_fb_helper.c,v 1.12 2018/08/27 13:37:21 riastradh Exp $ */ +/* $NetBSD: drm_fb_helper.c,v 1.12.4.1 2019/11/10 13:12:57 martin Exp $ */ /* * Copyright (c) 2006-2009 Red Hat Inc. @@ -30,7 +30,7 @@ * Jesse Barnes */ #include -__KERNEL_RCSID(0, "$NetBSD: drm_fb_helper.c,v 1.12 2018/08/27 13:37:21 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: drm_fb_helper.c,v 1.12.4.1 2019/11/10 13:12:57 martin Exp $"); #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt @@ -2086,9 +2086,9 @@ static void drm_setup_crtcs(struct drm_f struct drm_display_mode *mode = modes[i]; struct drm_fb_helper_crtc *fb_crtc = crtcs[i]; struct drm_fb_offset *offset = [i]; - modeset = _crtc->mode_set; if (mode && fb_crtc) { + modeset = _crtc->mode_set; DRM_DEBUG_KMS("desired mode %s set on crtc %d (%d,%d)\n", mode->name, fb_crtc->mode_set.crtc->base.id, offset->x, offset->y); fb_crtc->desired_mode = mode;
CVS commit: [netbsd-9] src/sys/external/bsd/drm2/dist/drm
Module Name:src Committed By: martin Date: Sun Nov 10 13:12:57 UTC 2019 Modified Files: src/sys/external/bsd/drm2/dist/drm [netbsd-9]: drm_fb_helper.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #408): sys/external/bsd/drm2/dist/drm/drm_fb_helper.c: revision 1.13 Avoid null pointer dereference found by kUBSan with "member access within null pointer of type 'struct drm_fb_helper_crtc'". To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.12.4.1 \ src/sys/external/bsd/drm2/dist/drm/drm_fb_helper.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.