Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-9]: src/sys/external/bsd/drm2/i915drm Pull up following revision(...



details:   https://anonhg.NetBSD.org/src/rev/280acb6b81d5
branches:  netbsd-9
changeset: 458202:280acb6b81d5
user:      martin <martin%NetBSD.org@localhost>
date:      Sun Aug 18 09:57:40 2019 +0000

description:
Pull up following revision(s) (requested by rin in ticket #85):

        sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.17

PR kern/52229:

Correct linebytes (stride) for intelfb(4), which fixes screen
corruption on the following machines:
- MacBookAir5,2 (Ivy Bridge, 13-inch, Mid 2012)
- MacBookAir6,1 (Haswell, 11-inch, Early 2014)

Now, wsdisplay(4) console as well as intel(4) driver of Xorg
works fine on these machines.

Also there's no side effects found on another machine:
- ThinkPad T480s (Kaby Lake R)

XXX
pullup to netbsd-9

diffstat:

 sys/external/bsd/drm2/i915drm/intelfb.c |  8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diffs (34 lines):

diff -r ded5b681439f -r 280acb6b81d5 sys/external/bsd/drm2/i915drm/intelfb.c
--- a/sys/external/bsd/drm2/i915drm/intelfb.c   Sun Aug 18 09:54:12 2019 +0000
+++ b/sys/external/bsd/drm2/i915drm/intelfb.c   Sun Aug 18 09:57:40 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: intelfb.c,v 1.16 2018/12/01 01:56:30 msaitoh Exp $     */
+/*     $NetBSD: intelfb.c,v 1.16.4.1 2019/08/18 09:57:40 martin Exp $  */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intelfb.c,v 1.16 2018/12/01 01:56:30 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intelfb.c,v 1.16.4.1 2019/08/18 09:57:40 martin Exp $");
 
 #include <sys/types.h>
 #include <sys/bus.h>
@@ -166,14 +166,12 @@
        struct intelfb_softc *const sc = container_of(task,
            struct intelfb_softc, sc_attach_task);
        const struct intelfb_attach_args *const ifa = &sc->sc_ifa;
-       const struct drm_fb_helper_surface_size *const sizes = &ifa->ifa_fb_sizes;
        const struct drmfb_attach_args da = {
                .da_dev = sc->sc_dev,
                .da_fb_helper = ifa->ifa_fb_helper,
                .da_fb_sizes = &ifa->ifa_fb_sizes,
                .da_fb_vaddr = bus_space_vaddr(ifa->ifa_fb_bst, sc->sc_fb_bsh),
-               .da_fb_linebytes = roundup2((sizes->surface_width *
-                   howmany(sizes->surface_bpp, 8)), 64),
+               .da_fb_linebytes = ifa->ifa_fb_helper->fb->pitches[0],
                .da_params = &intelfb_drmfb_params,
        };
        int error;



Home | Main Index | Thread Index | Old Index