diff mbox

drm/armada: Fix compile fail

Message ID 1483115618-18734-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter Dec. 30, 2016, 4:33 p.m. UTC
I reported the include issue for tracepoints a while ago, but nothing
seems to have happened. Now it bit us, since the drm_mm_print
conversion was broken for armada. Fix them both.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Fixes: b5c3714fe878 ("drm/mm: Convert to drm_printer")
Cc: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/armada/Makefile         | 2 ++
 drivers/gpu/drm/armada/armada_debugfs.c | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

Comments

Russell King (Oracle) Jan. 2, 2017, 2:20 p.m. UTC | #1
On Fri, Dec 30, 2016 at 05:33:38PM +0100, Daniel Vetter wrote:
> I reported the include issue for tracepoints a while ago, but nothing
> seems to have happened. Now it bit us, since the drm_mm_print
> conversion was broken for armada. Fix them both.

Nothing's happened because I haven't had an opportunity to investigate
yet.  It's not as simple as you think...

This has been tested over several kernel versions before submission,
and it's also been sitting in my build tree for a while before sending
upstream.  At no point have I seen the failure you are reporting.

The tracepoints have been in use on 4.7 and 4.8 kernels, and it builds
fine there without any changes.  It's been in my nightly builder, which
has found no problems with it, eg, 4.9 allmodconfig:

  CC [M]  drivers/gpu/drm/armada/armada_crtc.o
  CC [M]  drivers/gpu/drm/armada/armada_drv.o
  CC [M]  drivers/gpu/drm/armada/armada_fb.o
  CC [M]  drivers/gpu/drm/armada/armada_fbdev.o
  CC [M]  drivers/gpu/drm/armada/armada_gem.o
  CC [M]  drivers/gpu/drm/armada/armada_overlay.o
  CC [M]  drivers/gpu/drm/armada/armada_trace.o
  CC [M]  drivers/gpu/drm/armada/armada_510.o
  CC [M]  drivers/gpu/drm/armada/armada_debugfs.o
  LD [M]  drivers/gpu/drm/armada/armada.o

So the question remains: why do you see it, and I don't - there's
something different in our build environments that's triggering it.
I always build with a separated object tree - maybe you build in the
same tree.  Does the problem disappear if you build using a separated
object tree (O=/path/to/object/tree) ?

However, given the contents of your patch, it seems only relevant for
separated object tree builds.

So... confused.

I'll investigate further once I've updated my cubox tree to 4.9.
Daniel Vetter Jan. 2, 2017, 11:50 p.m. UTC | #2
On Mon, Jan 2, 2017 at 3:20 PM, Russell King - ARM Linux
<linux@armlinux.org.uk> wrote:
> On Fri, Dec 30, 2016 at 05:33:38PM +0100, Daniel Vetter wrote:
>> I reported the include issue for tracepoints a while ago, but nothing
>> seems to have happened. Now it bit us, since the drm_mm_print
>> conversion was broken for armada. Fix them both.
>
> Nothing's happened because I haven't had an opportunity to investigate
> yet.  It's not as simple as you think...

Yeah, I don't get it either tbh.

> This has been tested over several kernel versions before submission,
> and it's also been sitting in my build tree for a while before sending
> upstream.  At no point have I seen the failure you are reporting.
>
> The tracepoints have been in use on 4.7 and 4.8 kernels, and it builds
> fine there without any changes.  It's been in my nightly builder, which
> has found no problems with it, eg, 4.9 allmodconfig:
>
>   CC [M]  drivers/gpu/drm/armada/armada_crtc.o
>   CC [M]  drivers/gpu/drm/armada/armada_drv.o
>   CC [M]  drivers/gpu/drm/armada/armada_fb.o
>   CC [M]  drivers/gpu/drm/armada/armada_fbdev.o
>   CC [M]  drivers/gpu/drm/armada/armada_gem.o
>   CC [M]  drivers/gpu/drm/armada/armada_overlay.o
>   CC [M]  drivers/gpu/drm/armada/armada_trace.o
>   CC [M]  drivers/gpu/drm/armada/armada_510.o
>   CC [M]  drivers/gpu/drm/armada/armada_debugfs.o
>   LD [M]  drivers/gpu/drm/armada/armada.o
>
> So the question remains: why do you see it, and I don't - there's
> something different in our build environments that's triggering it.
> I always build with a separated object tree - maybe you build in the
> same tree.  Does the problem disappear if you build using a separated
> object tree (O=/path/to/object/tree) ?

Yup. That also seems to be the setup 0day uses. I've also tried
disabling tracepoints, that didn't help either. I haven't checked
whether built-in or module changes anything, but my config builds
armada as a module.

> However, given the contents of your patch, it seems only relevant for
> separated object tree builds.
>
> So... confused.
>
> I'll investigate further once I've updated my cubox tree to 4.9.

We've had the same fun in i915 with tracepoints, and looking around
we're not the only ones opting for this solution. I'm not sure whether
tracepoints in modules is a bit the odd thing out, or whether
something in kbuild is amiss. I don't really grok it enough to figure
out what's really going on ... The hack gets things back on track at
least.
-Daniel
diff mbox

Patch

diff --git a/drivers/gpu/drm/armada/Makefile b/drivers/gpu/drm/armada/Makefile
index a18f156c8b66..64c0b4546fb2 100644
--- a/drivers/gpu/drm/armada/Makefile
+++ b/drivers/gpu/drm/armada/Makefile
@@ -4,3 +4,5 @@  armada-y	+= armada_510.o
 armada-$(CONFIG_DEBUG_FS) += armada_debugfs.o
 
 obj-$(CONFIG_DRM_ARMADA) := armada.o
+
+CFLAGS_armada_trace.o := -I$(src)
diff --git a/drivers/gpu/drm/armada/armada_debugfs.c b/drivers/gpu/drm/armada/armada_debugfs.c
index 0c7b915be082..a8020cf9da2e 100644
--- a/drivers/gpu/drm/armada/armada_debugfs.c
+++ b/drivers/gpu/drm/armada/armada_debugfs.c
@@ -22,7 +22,7 @@  static int armada_debugfs_gem_linear_show(struct seq_file *m, void *data)
 	struct drm_printer p = drm_seq_file_printer(m);
 
 	mutex_lock(&priv->linear_lock);
-	drm_mm_dump_table(&p, &priv->linear);
+	drm_mm_print(&priv->linear, &p);
 	mutex_unlock(&priv->linear_lock);
 
 	return 0;