Linux-Next Archive on lore.kernel.org
 help / color / Atom feed
From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	Dave Airlie <airlied@linux.ie>,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	Rob Clark <rob.clark@linaro.org>
Subject: Re: linux-next: build failure after merge of the drm tree
Date: Wed, 16 Nov 2011 08:42:49 -0800
Message-ID: <20111116084249.24749230@jbarnes-desktop> (raw)
In-Reply-To: <20111116101623.7a59b686@lxorguk.ukuu.org.uk>

On Wed, 16 Nov 2011 10:16:23 +0000
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:

> > drivers/staging/gma500/framebuffer.c: In function 'psb_framebuffer_init':
> > drivers/staging/gma500/framebuffer.c:297:2: warning: passing argument 2 of 'drm_helper_mode_fill_fb_struct' from incompatible pointer type [enabled by default]
> > include/drm/drm_crtc_helper.h:121:12: note: expected 'struct drm_mode_fb_cmd2 *' but argument is of type 'struct drm_mode_fb_cmd *'
> > drivers/staging/gma500/framebuffer.c:564:2: warning: passing argument 2 of 'psb_framebuffer_create' from incompatible pointer type [enabled by default]
> > drivers/staging/gma500/framebuffer.c:314:32: note: expected 'struct drm_mode_fb_cmd *' but argument is of type 'struct drm_mode_fb_cmd2 *'
> 
> gma500 is frozen pending Dave Airlie's applying the patches moving it out
> of staging.
> 
> <Prod, prod>

Here's a patch to move things over to the new addfb2 interfaces at
least.

-- 
Jesse Barnes, Intel Open Source Technology Center

diff --git a/drivers/staging/gma500/framebuffer.c b/drivers/staging/gma500/framebuffer.c
index 1e77229..29f25b5 100644
--- a/drivers/staging/gma500/framebuffer.c
+++ b/drivers/staging/gma500/framebuffer.c
@@ -32,6 +32,7 @@
 #include <drm/drmP.h>
 #include <drm/drm.h>
 #include <drm/drm_crtc.h>
+#include <drm/drm_fb_helper.h>
 
 #include "psb_drv.h"
 #include "psb_intel_reg.h"
@@ -273,14 +274,17 @@ static struct fb_ops psbfb_unaccel_ops = {
  */
 static int psb_framebuffer_init(struct drm_device *dev,
 					struct psb_framebuffer *fb,
-					struct drm_mode_fb_cmd *mode_cmd,
+					struct drm_mode_fb_cmd2 *mode_cmd,
 					struct gtt_range *gt)
 {
+	u32 bpp, depth;
 	int ret;
 
-	if (mode_cmd->pitch & 63)
+	drm_helper_get_fb_bpp_depth(mode_cmd->pixel_format, &depth, &bpp);
+
+	if (mode_cmd->pitches[0] & 63)
 		return -EINVAL;
-	switch (mode_cmd->bpp) {
+	switch (bpp) {
 	case 8:
 	case 16:
 	case 24:
@@ -313,7 +317,7 @@ static int psb_framebuffer_init(struct drm_device *dev,
 
 static struct drm_framebuffer *psb_framebuffer_create
 			(struct drm_device *dev,
-			 struct drm_mode_fb_cmd *mode_cmd,
+			 struct drm_mode_fb_cmd2 *mode_cmd,
 			 struct gtt_range *gt)
 {
 	struct psb_framebuffer *fb;
@@ -387,27 +391,28 @@ static int psbfb_create(struct psb_fbdev *fbdev,
 	struct fb_info *info;
 	struct drm_framebuffer *fb;
 	struct psb_framebuffer *psbfb = &fbdev->pfb;
-	struct drm_mode_fb_cmd mode_cmd;
+	struct drm_mode_fb_cmd2 mode_cmd;
 	struct device *device = &dev->pdev->dev;
 	int size;
 	int ret;
 	struct gtt_range *backing;
 	int gtt_roll = 1;
+	u32 bpp, depth;
 
 	mode_cmd.width = sizes->surface_width;
 	mode_cmd.height = sizes->surface_height;
-	mode_cmd.bpp = sizes->surface_bpp;
+	bpp = sizes->surface_bpp;
 
 	/* No 24bit packed */
-	if (mode_cmd.bpp == 24)
-		mode_cmd.bpp = 32;
+	if (bpp == 24)
+		bpp = 32;
 
 	/* Acceleration via the GTT requires pitch to be 4096 byte aligned 
 	   (ie 1024 or 2048 pixels in normal use) */
-	mode_cmd.pitch =  ALIGN(mode_cmd.width * ((mode_cmd.bpp + 7) / 8), 4096);
-	mode_cmd.depth = sizes->surface_depth;
+	mode_cmd.pitches[0] =  ALIGN(mode_cmd.width * ((bpp + 7) / 8), 4096);
+	depth = sizes->surface_depth;
 
-	size = mode_cmd.pitch * mode_cmd.height;
+	size = mode_cmd.pitches[0] * mode_cmd.height;
 	size = ALIGN(size, PAGE_SIZE);
 
 	/* Allocate the framebuffer in the GTT with stolen page backing */
@@ -421,10 +426,10 @@ static int psbfb_create(struct psb_fbdev *fbdev,
 
 		gtt_roll = 0;	/* Don't use GTT accelerated scrolling */
 
-		mode_cmd.pitch =  ALIGN(mode_cmd.width * ((mode_cmd.bpp + 7) / 8), 64);
-		mode_cmd.depth = sizes->surface_depth;
+		mode_cmd.pitches[0] =  ALIGN(mode_cmd.width * ((bpp + 7) / 8), 64);
+		depth = sizes->surface_depth;
 
-		size = mode_cmd.pitch * mode_cmd.height;
+		size = mode_cmd.pitches[0] * mode_cmd.height;
 		size = ALIGN(size, PAGE_SIZE);
 
 		/* Allocate the framebuffer in the GTT with stolen page
@@ -443,6 +448,8 @@ static int psbfb_create(struct psb_fbdev *fbdev,
 	}
 	info->par = fbdev;
 
+	mode_cmd.pixel_format = drm_mode_legacy_fb_format(bpp, depth);
+
 	ret = psb_framebuffer_init(dev, psbfb, &mode_cmd, backing);
 	if (ret)
 		goto out_unref;
@@ -555,7 +562,7 @@ static struct drm_framebuffer *psb_user_framebuffer_create
 	 *	Find the GEM object and thus the gtt range object that is
 	 *	to back this space
 	 */
-	obj = drm_gem_object_lookup(dev, filp, cmd->handle);
+	obj = drm_gem_object_lookup(dev, filp, cmd->handles[0]);
 	if (obj == NULL)
 		return ERR_PTR(-ENOENT);
 

  reply index

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-16  0:30 Stephen Rothwell
2011-11-16 10:16 ` Alan Cox
2011-11-16 16:42   ` Jesse Barnes [this message]
2011-11-25  1:49 ` Stephen Rothwell
2011-11-25 10:30   ` Alan Cox
2011-11-25 10:34     ` Dave Airlie
2011-11-28  2:53       ` Stephen Rothwell
2011-11-28 11:30         ` Alan Cox
2011-11-28 13:13           ` Stephen Rothwell
2011-11-28 13:18             ` Alan Cox
2011-11-28 13:53               ` Stephen Rothwell
2011-11-28 14:05                 ` Dave Airlie
2011-11-28 14:08                 ` Alan Cox
2011-11-28  2:52     ` Stephen Rothwell
2011-11-28  5:07       ` Greg KH
2011-11-28 11:33       ` Alan Cox
  -- strict thread matches above, loose matches on Subject: below --
2019-11-05  2:54 Stephen Rothwell
2019-10-10  0:22 Stephen Rothwell
2019-07-08  4:48 Stephen Rothwell
2019-04-26  2:17 Stephen Rothwell
2018-05-16  6:53 Stephen Rothwell
2018-05-16  8:09 ` Oded Gabbay
2018-05-17  5:00   ` Dave Airlie
2018-03-13  5:46 Stephen Rothwell
2018-01-02  1:48 Stephen Rothwell
2017-09-28  4:57 Stephen Rothwell
2017-03-20  0:51 Stephen Rothwell
2017-03-20  8:03 ` Daniel Vetter
2017-03-20  8:05   ` Daniel Vetter
2017-02-23 23:25 Stephen Rothwell
2017-01-24  1:25 Stephen Rothwell
2017-01-25 10:52 ` Vincent ABRIOU
2016-07-15  3:40 Stephen Rothwell
2016-07-15  4:32 ` Sedat Dilek
2016-04-28  1:57 Stephen Rothwell
2016-04-28  8:11 ` Jani Nikula
2016-03-17  4:41 Stephen Rothwell
2016-03-17  8:41 ` Christian König
2016-02-22  0:45 Stephen Rothwell
2015-12-31 10:31 Stephen Rothwell
2016-01-07  2:44 ` Stephen Rothwell
2016-01-11 22:54   ` Stephen Rothwell
2016-01-12  0:31     ` Dave Airlie
2016-01-12  4:35       ` Stephen Rothwell
2016-01-12  7:48         ` Zhu, Rex
2015-12-31  2:40 Stephen Rothwell
2015-12-31  5:14 ` Mark yao
2015-11-04  9:22 Stephen Rothwell
2015-11-09 16:45 ` Guenter Roeck
2015-11-10  4:55   ` Alexandre Courbot
2015-10-06  1:09 Stephen Rothwell
2015-06-09 13:42 Stephen Rothwell
2015-06-09 14:02 ` Deucher, Alexander
2015-06-10  0:28   ` Stephen Rothwell
2015-05-20  3:08 Stephen Rothwell
2015-05-20  4:41 ` Dave Airlie
2015-05-20  5:25   ` Stephen Rothwell
2015-05-20  5:31     ` Stephen Rothwell
2015-05-20  6:01       ` Oded Gabbay
2015-05-20  6:08         ` Dave Airlie
2015-01-29  2:38 Stephen Rothwell
2015-01-29  8:21 ` Oded Gabbay
2015-01-29  9:35   ` Stephen Rothwell
2014-09-08  4:26 Stephen Rothwell
2014-06-05  4:12 Stephen Rothwell
2014-06-05  4:28 ` Stephen Rothwell
2012-09-24  3:18 Stephen Rothwell
2012-09-24 11:31 ` Daniel Vetter
2012-09-24 11:58   ` Stephen Rothwell
2012-08-24  3:49 Stephen Rothwell
2012-05-17  3:47 Stephen Rothwell
2012-04-30  3:22 Stephen Rothwell
2012-04-23  3:42 Stephen Rothwell
2012-03-16  2:53 Stephen Rothwell
2012-03-19  2:45 ` Stephen Rothwell
2011-11-28  2:49 Stephen Rothwell
2011-03-15  3:49 Stephen Rothwell
2010-04-08  3:12 Stephen Rothwell
2010-04-08  3:52 ` Dave Airlie
2010-04-08  4:14   ` Stephen Rothwell
2010-04-08 16:19     ` Tony Luck
2010-04-08 20:50       ` Pauli Nieminen

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111116084249.24749230@jbarnes-desktop \
    --to=jbarnes@virtuousgeek.org \
    --cc=airlied@linux.ie \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=rob.clark@linaro.org \
    --cc=sfr@canb.auug.org.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-Next Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-next/0 linux-next/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-next linux-next/ https://lore.kernel.org/linux-next \
		linux-next@vger.kernel.org
	public-inbox-index linux-next

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-next


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git