Module Name:    src
Committed By:   maya
Date:           Sat Dec 17 12:11:38 UTC 2016

Modified Files:
        src/sys/arch/arm/nvidia: tegra_drm.h tegra_drm_fb.c tegra_fb.c

Log Message:
Fix regression introduced by myself with the addition of da_fb_linebytes

tegra_fb was not adjusted so da_fb_linebytes was used uninitialized

add tfa_fb_linebytes and match radeonfb/nouveaufb code in how we set it
switch to using an initializer to hopefully avoid future errors

this change doesn't need to be pulled up, as tegra_fb.c is absent
in netbsd-7


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_drm.h
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/nvidia/tegra_drm_fb.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/nvidia/tegra_fb.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/arch/arm/nvidia/tegra_drm.h
diff -u src/sys/arch/arm/nvidia/tegra_drm.h:1.6 src/sys/arch/arm/nvidia/tegra_drm.h:1.7
--- src/sys/arch/arm/nvidia/tegra_drm.h:1.6	Tue Dec 22 22:10:36 2015
+++ src/sys/arch/arm/nvidia/tegra_drm.h	Sat Dec 17 12:11:38 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm.h,v 1.6 2015/12/22 22:10:36 jmcneill Exp $ */
+/* $NetBSD: tegra_drm.h,v 1.7 2016/12/17 12:11:38 maya Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca>
@@ -79,6 +79,7 @@ struct tegra_drmfb_attach_args {
 	struct drm_fb_helper_surface_size tfa_fb_sizes;
 	bus_space_tag_t		tfa_fb_bst;
 	bus_dma_tag_t		tfa_fb_dmat;
+	uint32_t		tfa_fb_linebytes;
 };
 
 struct tegra_crtc {

Index: src/sys/arch/arm/nvidia/tegra_drm_fb.c
diff -u src/sys/arch/arm/nvidia/tegra_drm_fb.c:1.3 src/sys/arch/arm/nvidia/tegra_drm_fb.c:1.4
--- src/sys/arch/arm/nvidia/tegra_drm_fb.c:1.3	Mon Nov 16 21:14:33 2015
+++ src/sys/arch/arm/nvidia/tegra_drm_fb.c	Sat Dec 17 12:11:38 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm_fb.c,v 1.3 2015/11/16 21:14:33 jmcneill Exp $ */
+/* $NetBSD: tegra_drm_fb.c,v 1.4 2016/12/17 12:11:38 maya Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm_fb.c,v 1.3 2015/11/16 21:14:33 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm_fb.c,v 1.4 2016/12/17 12:11:38 maya Exp $");
 
 #include <drm/drmP.h>
 #include <drm/drm_crtc.h>
@@ -108,6 +108,7 @@ tegra_fb_probe(struct drm_fb_helper *hel
 	tfa.tfa_fb_sizes = *sizes;
 	tfa.tfa_fb_bst = sc->sc_bst;
 	tfa.tfa_fb_dmat = sc->sc_dmat;
+	tfa.tfa_fb_linebytes = helper->fb->pitches[0];
 
 	helper->fbdev = config_found_ia(ddev->dev, "tegrafbbus", &tfa, NULL);
 	if (helper->fbdev == NULL) {

Index: src/sys/arch/arm/nvidia/tegra_fb.c
diff -u src/sys/arch/arm/nvidia/tegra_fb.c:1.2 src/sys/arch/arm/nvidia/tegra_fb.c:1.3
--- src/sys/arch/arm/nvidia/tegra_fb.c:1.2	Thu Nov 12 00:43:52 2015
+++ src/sys/arch/arm/nvidia/tegra_fb.c	Sat Dec 17 12:11:38 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_fb.c,v 1.2 2015/11/12 00:43:52 jmcneill Exp $ */
+/* $NetBSD: tegra_fb.c,v 1.3 2016/12/17 12:11:38 maya Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra_fb.c,v 1.2 2015/11/12 00:43:52 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_fb.c,v 1.3 2016/12/17 12:11:38 maya Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -78,7 +78,6 @@ tegra_fb_attach(device_t parent, device_
 	struct tegra_fb_softc * const sc = device_private(self);
 	struct tegra_drm_softc * const drmsc = device_private(parent);
 	struct tegra_drmfb_attach_args * const tfa = aux;
-	struct drmfb_attach_args da;
 	int error;
 
 	sc->sc_dev = self;
@@ -89,11 +88,14 @@ tegra_fb_attach(device_t parent, device_
 	aprint_naive("\n");
 	aprint_normal("\n");
 
-	da.da_dev = self;
-	da.da_fb_helper = tfa->tfa_fb_helper;
-	da.da_fb_sizes = &tfa->tfa_fb_sizes;
-	da.da_fb_vaddr = sc->sc_fb->obj->dmap;
-	da.da_params = &tegrafb_drmfb_params;
+	const struct drmfb_attach_args da = {
+		.da_dev = self,
+		.da_fb_helper = tfa->tfa_fb_helper,
+		.da_fb_sizes = &tfa->tfa_fb_sizes,
+		.da_fb_vaddr = sc->sc_fb->obj->dmap,
+		.da_fb_linebytes = tfa->tfa_fb_linebytes,
+		.da_params = &tegrafb_drmfb_params,
+	};
 
 	error = drmfb_attach(&sc->sc_drmfb, &da);
 	if (error) {

Reply via email to