diff mbox series

[1/2] drm/i915/dmabuf: fix broken build

Message ID 20211021125332.2455288-1-matthew.auld@intel.com (mailing list archive)
State New, archived
Headers show
Series [1/2] drm/i915/dmabuf: fix broken build | expand

Commit Message

Matthew Auld Oct. 21, 2021, 12:53 p.m. UTC
wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
include asm/smp.h here.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Dixit, Ashutosh Oct. 21, 2021, 3:18 p.m. UTC | #1
On Thu, 21 Oct 2021 05:53:31 -0700, Matthew Auld wrote:
>
> wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
> include asm/smp.h here.

Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>

> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> index 1adcd8e02d29..a45d0ec2c5b6 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> @@ -12,6 +12,13 @@
>  #include "i915_gem_object.h"
>  #include "i915_scatterlist.h"
>
> +#if defined(CONFIG_X86)
> +#include <asm/smp.h>
> +#else
> +#define wbinvd_on_all_cpus() \
> +	pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)
> +#endif
> +
>  I915_SELFTEST_DECLARE(static bool force_different_devices;)
>
>  static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)
> --
> 2.26.3
>
Matthew Auld Oct. 27, 2021, 7:57 a.m. UTC | #2
On Thu, 21 Oct 2021 at 13:54, Matthew Auld <matthew.auld@intel.com> wrote:
>
> wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
> include asm/smp.h here.
>
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>

Jani, would it make sense to cherry-pick this to -fixes? The offending
commit is in drm-next, and there have been a few reports around this.

Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-acquire")


> ---
>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> index 1adcd8e02d29..a45d0ec2c5b6 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> @@ -12,6 +12,13 @@
>  #include "i915_gem_object.h"
>  #include "i915_scatterlist.h"
>
> +#if defined(CONFIG_X86)
> +#include <asm/smp.h>
> +#else
> +#define wbinvd_on_all_cpus() \
> +       pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)
> +#endif
> +
>  I915_SELFTEST_DECLARE(static bool force_different_devices;)
>
>  static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)
> --
> 2.26.3
>
Jani Nikula Oct. 27, 2021, 8:58 a.m. UTC | #3
On Wed, 27 Oct 2021, Matthew Auld <matthew.william.auld@gmail.com> wrote:
> On Thu, 21 Oct 2021 at 13:54, Matthew Auld <matthew.auld@intel.com> wrote:
>>
>> wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
>> include asm/smp.h here.
>>
>> Reported-by: kernel test robot <lkp@intel.com>
>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>
> Jani, would it make sense to cherry-pick this to -fixes? The offending
> commit is in drm-next, and there have been a few reports around this.
>
> Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-acquire")

If the Fixes: tag is in place, our tooling will cherry-pick it where it
belongs. (In this case, drm-intel-next-fixes, not drm-intel-fixes.)

Cc: Rodrigo who covers drm-intel-next-fixes atm.

BR,
Jani.



>
>
>> ---
>>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> index 1adcd8e02d29..a45d0ec2c5b6 100644
>> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> @@ -12,6 +12,13 @@
>>  #include "i915_gem_object.h"
>>  #include "i915_scatterlist.h"
>>
>> +#if defined(CONFIG_X86)
>> +#include <asm/smp.h>
>> +#else
>> +#define wbinvd_on_all_cpus() \
>> +       pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)
>> +#endif
>> +
>>  I915_SELFTEST_DECLARE(static bool force_different_devices;)
>>
>>  static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)
>> --
>> 2.26.3
>>
Jani Nikula Oct. 27, 2021, 9 a.m. UTC | #4
On Wed, 27 Oct 2021, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Wed, 27 Oct 2021, Matthew Auld <matthew.william.auld@gmail.com> wrote:
>> On Thu, 21 Oct 2021 at 13:54, Matthew Auld <matthew.auld@intel.com> wrote:
>>>
>>> wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
>>> include asm/smp.h here.
>>>
>>> Reported-by: kernel test robot <lkp@intel.com>
>>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>>
>> Jani, would it make sense to cherry-pick this to -fixes? The offending
>> commit is in drm-next, and there have been a few reports around this.
>>
>> Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-acquire")
>
> If the Fixes: tag is in place, our tooling will cherry-pick it where it
> belongs. (In this case, drm-intel-next-fixes, not drm-intel-fixes.)
>
> Cc: Rodrigo who covers drm-intel-next-fixes atm.

PS. 'dim tc a035154da45d' tells you where that commit is:

drm/drm-next
drm-intel/drm-intel-gt-next
drm-misc/drm-misc-next
drm-misc/topic/amdgpu-dp2.0-mst

So we see it's not in Linus' tree.



>
>
>> ---
>>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> index 1adcd8e02d29..a45d0ec2c5b6 100644
>> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> @@ -12,6 +12,13 @@
>>  #include "i915_gem_object.h"
>>  #include "i915_scatterlist.h"
>>>
>>> +#if defined(CONFIG_X86)
>>> +#include <asm/smp.h>
>>> +#else
>>> +#define wbinvd_on_all_cpus() \
>>> +       pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)
>>> +#endif
>>> +
>>>  I915_SELFTEST_DECLARE(static bool force_different_devices;)
>>>
>>>  static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)
>>> --
>>> 2.26.3
>>>
Matthew Auld Oct. 27, 2021, 9:03 a.m. UTC | #5
On Wed, 27 Oct 2021 at 09:58, Jani Nikula <jani.nikula@linux.intel.com> wrote:
>
> On Wed, 27 Oct 2021, Matthew Auld <matthew.william.auld@gmail.com> wrote:
> > On Thu, 21 Oct 2021 at 13:54, Matthew Auld <matthew.auld@intel.com> wrote:
> >>
> >> wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
> >> include asm/smp.h here.
> >>
> >> Reported-by: kernel test robot <lkp@intel.com>
> >> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> >> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> >
> > Jani, would it make sense to cherry-pick this to -fixes? The offending
> > commit is in drm-next, and there have been a few reports around this.
> >
> > Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-acquire")
>
> If the Fixes: tag is in place, our tooling will cherry-pick it where it
> belongs. (In this case, drm-intel-next-fixes, not drm-intel-fixes.)

Yeah, I forgot to add the fixes tag here unfortunately.

>
> Cc: Rodrigo who covers drm-intel-next-fixes atm.
>
> BR,
> Jani.
>
>
>
> >
> >
> >> ---
> >>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
> >>  1 file changed, 7 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> >> index 1adcd8e02d29..a45d0ec2c5b6 100644
> >> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> >> @@ -12,6 +12,13 @@
> >>  #include "i915_gem_object.h"
> >>  #include "i915_scatterlist.h"
> >>
> >> +#if defined(CONFIG_X86)
> >> +#include <asm/smp.h>
> >> +#else
> >> +#define wbinvd_on_all_cpus() \
> >> +       pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)
> >> +#endif
> >> +
> >>  I915_SELFTEST_DECLARE(static bool force_different_devices;)
> >>
> >>  static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)
> >> --
> >> 2.26.3
> >>
>
> --
> Jani Nikula, Intel Open Source Graphics Center
Jani Nikula Oct. 27, 2021, 9:44 a.m. UTC | #6
On Wed, 27 Oct 2021, Matthew Auld <matthew.william.auld@gmail.com> wrote:
> On Wed, 27 Oct 2021 at 09:58, Jani Nikula <jani.nikula@linux.intel.com> wrote:
>>
>> On Wed, 27 Oct 2021, Matthew Auld <matthew.william.auld@gmail.com> wrote:
>> > On Thu, 21 Oct 2021 at 13:54, Matthew Auld <matthew.auld@intel.com> wrote:
>> >>
>> >> wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
>> >> include asm/smp.h here.
>> >>
>> >> Reported-by: kernel test robot <lkp@intel.com>
>> >> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>> >> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> >
>> > Jani, would it make sense to cherry-pick this to -fixes? The offending
>> > commit is in drm-next, and there have been a few reports around this.
>> >
>> > Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-acquire")
>>
>> If the Fixes: tag is in place, our tooling will cherry-pick it where it
>> belongs. (In this case, drm-intel-next-fixes, not drm-intel-fixes.)
>
> Yeah, I forgot to add the fixes tag here unfortunately.

Already merged? What's the commit id to be cherry-picked? Rodrigo can do
it manually.

Note to self, we should set up some way to check which maintainer is
responsible for which branches and when.

BR,
Jani.

>
>>
>> Cc: Rodrigo who covers drm-intel-next-fixes atm.
>>
>> BR,
>> Jani.
>>
>>
>>
>> >
>> >
>> >> ---
>> >>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
>> >>  1 file changed, 7 insertions(+)
>> >>
>> >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> >> index 1adcd8e02d29..a45d0ec2c5b6 100644
>> >> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> >> @@ -12,6 +12,13 @@
>> >>  #include "i915_gem_object.h"
>> >>  #include "i915_scatterlist.h"
>> >>
>> >> +#if defined(CONFIG_X86)
>> >> +#include <asm/smp.h>
>> >> +#else
>> >> +#define wbinvd_on_all_cpus() \
>> >> +       pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)
>> >> +#endif
>> >> +
>> >>  I915_SELFTEST_DECLARE(static bool force_different_devices;)
>> >>
>> >>  static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)
>> >> --
>> >> 2.26.3
>> >>
>>
>> --
>> Jani Nikula, Intel Open Source Graphics Center
Matthew Auld Oct. 27, 2021, 9:48 a.m. UTC | #7
On Wed, 27 Oct 2021 at 10:44, Jani Nikula <jani.nikula@linux.intel.com> wrote:
>
> On Wed, 27 Oct 2021, Matthew Auld <matthew.william.auld@gmail.com> wrote:
> > On Wed, 27 Oct 2021 at 09:58, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> >>
> >> On Wed, 27 Oct 2021, Matthew Auld <matthew.william.auld@gmail.com> wrote:
> >> > On Thu, 21 Oct 2021 at 13:54, Matthew Auld <matthew.auld@intel.com> wrote:
> >> >>
> >> >> wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
> >> >> include asm/smp.h here.
> >> >>
> >> >> Reported-by: kernel test robot <lkp@intel.com>
> >> >> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> >> >> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> >> >
> >> > Jani, would it make sense to cherry-pick this to -fixes? The offending
> >> > commit is in drm-next, and there have been a few reports around this.
> >> >
> >> > Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-acquire")
> >>
> >> If the Fixes: tag is in place, our tooling will cherry-pick it where it
> >> belongs. (In this case, drm-intel-next-fixes, not drm-intel-fixes.)
> >
> > Yeah, I forgot to add the fixes tag here unfortunately.
>
> Already merged? What's the commit id to be cherry-picked? Rodrigo can do
> it manually.

Yeah, it was merged to gt-next:

777226dac058 ("drm/i915/dmabuf: fix broken build")

>
> Note to self, we should set up some way to check which maintainer is
> responsible for which branches and when.
>
> BR,
> Jani.
>
> >
> >>
> >> Cc: Rodrigo who covers drm-intel-next-fixes atm.
> >>
> >> BR,
> >> Jani.
> >>
> >>
> >>
> >> >
> >> >
> >> >> ---
> >> >>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
> >> >>  1 file changed, 7 insertions(+)
> >> >>
> >> >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> >> >> index 1adcd8e02d29..a45d0ec2c5b6 100644
> >> >> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> >> >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> >> >> @@ -12,6 +12,13 @@
> >> >>  #include "i915_gem_object.h"
> >> >>  #include "i915_scatterlist.h"
> >> >>
> >> >> +#if defined(CONFIG_X86)
> >> >> +#include <asm/smp.h>
> >> >> +#else
> >> >> +#define wbinvd_on_all_cpus() \
> >> >> +       pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)
> >> >> +#endif
> >> >> +
> >> >>  I915_SELFTEST_DECLARE(static bool force_different_devices;)
> >> >>
> >> >>  static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)
> >> >> --
> >> >> 2.26.3
> >> >>
> >>
> >> --
> >> Jani Nikula, Intel Open Source Graphics Center
>
> --
> Jani Nikula, Intel Open Source Graphics Center
Lucas De Marchi Oct. 27, 2021, 2:54 p.m. UTC | #8
On Wed, Oct 27, 2021 at 08:57:48AM +0100, Matthew Auld wrote:
>On Thu, 21 Oct 2021 at 13:54, Matthew Auld <matthew.auld@intel.com> wrote:
>>
>> wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
>> include asm/smp.h here.
>>
>> Reported-by: kernel test robot <lkp@intel.com>
>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>
>Jani, would it make sense to cherry-pick this to -fixes? The offending
>commit is in drm-next, and there have been a few reports around this.
>
>Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-acquire")
>
>
>> ---
>>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> index 1adcd8e02d29..a45d0ec2c5b6 100644
>> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> @@ -12,6 +12,13 @@
>>  #include "i915_gem_object.h"
>>  #include "i915_scatterlist.h"
>>
>> +#if defined(CONFIG_X86)
>> +#include <asm/smp.h>
>> +#else
>> +#define wbinvd_on_all_cpus() \
>> +       pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)


not sure I understand why this is a fix. Sure, it's true, but right now
this file can't be built on any other arch.

For clflush, wbind, etc, I'd rather change the code to use things from
drm_cache rather than ifdef it out locally. This is
"Reported-by: kernel test robot <lkp@intel.com>", but what's the error?

Lucas De Marchi

>> +#endif
>> +
>>  I915_SELFTEST_DECLARE(static bool force_different_devices;)
>>
>>  static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)
>> --
>> 2.26.3
>>
Matthew Auld Oct. 27, 2021, 4:23 p.m. UTC | #9
On Wed, 27 Oct 2021 at 15:54, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>
> On Wed, Oct 27, 2021 at 08:57:48AM +0100, Matthew Auld wrote:
> >On Thu, 21 Oct 2021 at 13:54, Matthew Auld <matthew.auld@intel.com> wrote:
> >>
> >> wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
> >> include asm/smp.h here.
> >>
> >> Reported-by: kernel test robot <lkp@intel.com>
> >> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> >> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> >
> >Jani, would it make sense to cherry-pick this to -fixes? The offending
> >commit is in drm-next, and there have been a few reports around this.
> >
> >Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-acquire")
> >
> >
> >> ---
> >>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
> >>  1 file changed, 7 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> >> index 1adcd8e02d29..a45d0ec2c5b6 100644
> >> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> >> @@ -12,6 +12,13 @@
> >>  #include "i915_gem_object.h"
> >>  #include "i915_scatterlist.h"
> >>
> >> +#if defined(CONFIG_X86)
> >> +#include <asm/smp.h>
> >> +#else
> >> +#define wbinvd_on_all_cpus() \
> >> +       pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)
>
>
> not sure I understand why this is a fix. Sure, it's true, but right now
> this file can't be built on any other arch.
>
> For clflush, wbind, etc, I'd rather change the code to use things from
> drm_cache rather than ifdef it out locally. This is
> "Reported-by: kernel test robot <lkp@intel.com>", but what's the error?

I guess it depends on the kernel config, but it reported:
error: implicit declaration of function 'wbinvd_on_all_cpus'

AFAIK it's the missing <asm/smp.h>, the CONFIG_X86 thing is just for
good measure.

I didn't spot anything in drm_cache which just offers a simple wrapper
for wbinvd?

>
> Lucas De Marchi
>
> >> +#endif
> >> +
> >>  I915_SELFTEST_DECLARE(static bool force_different_devices;)
> >>
> >>  static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)
> >> --
> >> 2.26.3
> >>
Lucas De Marchi Oct. 27, 2021, 5:16 p.m. UTC | #10
On Wed, Oct 27, 2021 at 05:23:59PM +0100, Matthew Auld wrote:
>On Wed, 27 Oct 2021 at 15:54, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>>
>> On Wed, Oct 27, 2021 at 08:57:48AM +0100, Matthew Auld wrote:
>> >On Thu, 21 Oct 2021 at 13:54, Matthew Auld <matthew.auld@intel.com> wrote:
>> >>
>> >> wbinvd_on_all_cpus() is only defined on x86 it seems, plus we need to
>> >> include asm/smp.h here.
>> >>
>> >> Reported-by: kernel test robot <lkp@intel.com>
>> >> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>> >> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> >
>> >Jani, would it make sense to cherry-pick this to -fixes? The offending
>> >commit is in drm-next, and there have been a few reports around this.
>> >
>> >Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-acquire")
>> >
>> >
>> >> ---
>> >>  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
>> >>  1 file changed, 7 insertions(+)
>> >>
>> >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> >> index 1adcd8e02d29..a45d0ec2c5b6 100644
>> >> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>> >> @@ -12,6 +12,13 @@
>> >>  #include "i915_gem_object.h"
>> >>  #include "i915_scatterlist.h"
>> >>
>> >> +#if defined(CONFIG_X86)
>> >> +#include <asm/smp.h>
>> >> +#else
>> >> +#define wbinvd_on_all_cpus() \
>> >> +       pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)
>>
>>
>> not sure I understand why this is a fix. Sure, it's true, but right now
>> this file can't be built on any other arch.
>>
>> For clflush, wbind, etc, I'd rather change the code to use things from
>> drm_cache rather than ifdef it out locally. This is
>> "Reported-by: kernel test robot <lkp@intel.com>", but what's the error?
>
>I guess it depends on the kernel config, but it reported:
>error: implicit declaration of function 'wbinvd_on_all_cpus'

oh, ok. The commit message was not very clear. Just checked and this also matches what is done
in gem/i915_gem_pm.c  (although gt/intel_ggtt.c just includes it
unconditionally)

>
>AFAIK it's the missing <asm/smp.h>, the CONFIG_X86 thing is just for
>good measure.
>
>I didn't spot anything in drm_cache which just offers a simple wrapper
>for wbinvd?

there isn't yet, but it's something we are adding as we add suppport for
other archs.

thanks
Lucas De Marchi

>
>>
>> Lucas De Marchi
>>
>> >> +#endif
>> >> +
>> >>  I915_SELFTEST_DECLARE(static bool force_different_devices;)
>> >>
>> >>  static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)
>> >> --
>> >> 2.26.3
>> >>
Rodrigo Vivi Oct. 28, 2021, 1:43 a.m. UTC | #11
On Wed, 2021-10-27 at 10:48 +0100, Matthew Auld wrote:
> On Wed, 27 Oct 2021 at 10:44, Jani Nikula
> <jani.nikula@linux.intel.com> wrote:
> > 
> > On Wed, 27 Oct 2021, Matthew Auld <matthew.william.auld@gmail.com>
> > wrote:
> > > On Wed, 27 Oct 2021 at 09:58, Jani Nikula
> > > <jani.nikula@linux.intel.com> wrote:
> > > > 
> > > > On Wed, 27 Oct 2021, Matthew Auld
> > > > <matthew.william.auld@gmail.com> wrote:
> > > > > On Thu, 21 Oct 2021 at 13:54, Matthew Auld
> > > > > <matthew.auld@intel.com> wrote:
> > > > > > 
> > > > > > wbinvd_on_all_cpus() is only defined on x86 it seems, plus
> > > > > > we need to
> > > > > > include asm/smp.h here.
> > > > > > 
> > > > > > Reported-by: kernel test robot <lkp@intel.com>
> > > > > > Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> > > > > > Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > > > > 
> > > > > Jani, would it make sense to cherry-pick this to -fixes? The
> > > > > offending
> > > > > commit is in drm-next, and there have been a few reports
> > > > > around this.
> > > > > 
> > > > > Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-
> > > > > acquire")
> > > > 
> > > > If the Fixes: tag is in place, our tooling will cherry-pick it
> > > > where it
> > > > belongs. (In this case, drm-intel-next-fixes, not drm-intel-
> > > > fixes.)
> > > 
> > > Yeah, I forgot to add the fixes tag here unfortunately.
> > 
> > Already merged? What's the commit id to be cherry-picked? Rodrigo
> > can do
> > it manually.
> 
> Yeah, it was merged to gt-next:
> 
> 777226dac058 ("drm/i915/dmabuf: fix broken build")

picked up to drm-intel-next-fixes

thanks,
Rodrigo.

> 
> > 
> > Note to self, we should set up some way to check which maintainer
> > is
> > responsible for which branches and when.
> > 
> > BR,
> > Jani.
> > 
> > > 
> > > > 
> > > > Cc: Rodrigo who covers drm-intel-next-fixes atm.
> > > > 
> > > > BR,
> > > > Jani.
> > > > 
> > > > 
> > > > 
> > > > > 
> > > > > 
> > > > > > ---
> > > > > >  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
> > > > > >  1 file changed, 7 insertions(+)
> > > > > > 
> > > > > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> > > > > > b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> > > > > > index 1adcd8e02d29..a45d0ec2c5b6 100644
> > > > > > --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> > > > > > +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> > > > > > @@ -12,6 +12,13 @@
> > > > > >  #include "i915_gem_object.h"
> > > > > >  #include "i915_scatterlist.h"
> > > > > > 
> > > > > > +#if defined(CONFIG_X86)
> > > > > > +#include <asm/smp.h>
> > > > > > +#else
> > > > > > +#define wbinvd_on_all_cpus() \
> > > > > > +       pr_warn(DRIVER_NAME ": Missing cache flush in
> > > > > > %s\n", __func__)
> > > > > > +#endif
> > > > > > +
> > > > > >  I915_SELFTEST_DECLARE(static bool
> > > > > > force_different_devices;)
> > > > > > 
> > > > > >  static struct drm_i915_gem_object *dma_buf_to_obj(struct
> > > > > > dma_buf *buf)
> > > > > > --
> > > > > > 2.26.3
> > > > > > 
> > > > 
> > > > --
> > > > Jani Nikula, Intel Open Source Graphics Center
> > 
> > --
> > Jani Nikula, Intel Open Source Graphics Center
Matthew Auld Oct. 28, 2021, 8:48 a.m. UTC | #12
On 28/10/2021 02:43, Vivi, Rodrigo wrote:
> On Wed, 2021-10-27 at 10:48 +0100, Matthew Auld wrote:
>> On Wed, 27 Oct 2021 at 10:44, Jani Nikula
>> <jani.nikula@linux.intel.com> wrote:
>>>
>>> On Wed, 27 Oct 2021, Matthew Auld <matthew.william.auld@gmail.com>
>>> wrote:
>>>> On Wed, 27 Oct 2021 at 09:58, Jani Nikula
>>>> <jani.nikula@linux.intel.com> wrote:
>>>>>
>>>>> On Wed, 27 Oct 2021, Matthew Auld
>>>>> <matthew.william.auld@gmail.com> wrote:
>>>>>> On Thu, 21 Oct 2021 at 13:54, Matthew Auld
>>>>>> <matthew.auld@intel.com> wrote:
>>>>>>>
>>>>>>> wbinvd_on_all_cpus() is only defined on x86 it seems, plus
>>>>>>> we need to
>>>>>>> include asm/smp.h here.
>>>>>>>
>>>>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>>>>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>>>>>>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>>>>>>
>>>>>> Jani, would it make sense to cherry-pick this to -fixes? The
>>>>>> offending
>>>>>> commit is in drm-next, and there have been a few reports
>>>>>> around this.
>>>>>>
>>>>>> Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-
>>>>>> acquire")
>>>>>
>>>>> If the Fixes: tag is in place, our tooling will cherry-pick it
>>>>> where it
>>>>> belongs. (In this case, drm-intel-next-fixes, not drm-intel-
>>>>> fixes.)
>>>>
>>>> Yeah, I forgot to add the fixes tag here unfortunately.
>>>
>>> Already merged? What's the commit id to be cherry-picked? Rodrigo
>>> can do
>>> it manually.
>>
>> Yeah, it was merged to gt-next:
>>
>> 777226dac058 ("drm/i915/dmabuf: fix broken build")
> 
> picked up to drm-intel-next-fixes

Thanks.

> 
> thanks,
> Rodrigo.
> 
>>
>>>
>>> Note to self, we should set up some way to check which maintainer
>>> is
>>> responsible for which branches and when.
>>>
>>> BR,
>>> Jani.
>>>
>>>>
>>>>>
>>>>> Cc: Rodrigo who covers drm-intel-next-fixes atm.
>>>>>
>>>>> BR,
>>>>> Jani.
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>>> ---
>>>>>>>   drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
>>>>>>>   1 file changed, 7 insertions(+)
>>>>>>>
>>>>>>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>>>>>>> b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>>>>>>> index 1adcd8e02d29..a45d0ec2c5b6 100644
>>>>>>> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>>>>>>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>>>>>>> @@ -12,6 +12,13 @@
>>>>>>>   #include "i915_gem_object.h"
>>>>>>>   #include "i915_scatterlist.h"
>>>>>>>
>>>>>>> +#if defined(CONFIG_X86)
>>>>>>> +#include <asm/smp.h>
>>>>>>> +#else
>>>>>>> +#define wbinvd_on_all_cpus() \
>>>>>>> +       pr_warn(DRIVER_NAME ": Missing cache flush in
>>>>>>> %s\n", __func__)
>>>>>>> +#endif
>>>>>>> +
>>>>>>>   I915_SELFTEST_DECLARE(static bool
>>>>>>> force_different_devices;)
>>>>>>>
>>>>>>>   static struct drm_i915_gem_object *dma_buf_to_obj(struct
>>>>>>> dma_buf *buf)
>>>>>>> --
>>>>>>> 2.26.3
>>>>>>>
>>>>>
>>>>> --
>>>>> Jani Nikula, Intel Open Source Graphics Center
>>>
>>> --
>>> Jani Nikula, Intel Open Source Graphics Center
>
Tvrtko Ursulin Nov. 22, 2021, 1:34 p.m. UTC | #13
On 28/10/2021 09:48, Matthew Auld wrote:
> On 28/10/2021 02:43, Vivi, Rodrigo wrote:
>> On Wed, 2021-10-27 at 10:48 +0100, Matthew Auld wrote:
>>> On Wed, 27 Oct 2021 at 10:44, Jani Nikula
>>> <jani.nikula@linux.intel.com> wrote:
>>>>
>>>> On Wed, 27 Oct 2021, Matthew Auld <matthew.william.auld@gmail.com>
>>>> wrote:
>>>>> On Wed, 27 Oct 2021 at 09:58, Jani Nikula
>>>>> <jani.nikula@linux.intel.com> wrote:
>>>>>>
>>>>>> On Wed, 27 Oct 2021, Matthew Auld
>>>>>> <matthew.william.auld@gmail.com> wrote:
>>>>>>> On Thu, 21 Oct 2021 at 13:54, Matthew Auld
>>>>>>> <matthew.auld@intel.com> wrote:
>>>>>>>>
>>>>>>>> wbinvd_on_all_cpus() is only defined on x86 it seems, plus
>>>>>>>> we need to
>>>>>>>> include asm/smp.h here.
>>>>>>>>
>>>>>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>>>>>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>>>>>>>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>>>>>>>
>>>>>>> Jani, would it make sense to cherry-pick this to -fixes? The
>>>>>>> offending
>>>>>>> commit is in drm-next, and there have been a few reports
>>>>>>> around this.
>>>>>>>
>>>>>>> Fixes: a035154da45d ("drm/i915/dmabuf: add paranoid flush-on-
>>>>>>> acquire")
>>>>>>
>>>>>> If the Fixes: tag is in place, our tooling will cherry-pick it
>>>>>> where it
>>>>>> belongs. (In this case, drm-intel-next-fixes, not drm-intel-
>>>>>> fixes.)
>>>>>
>>>>> Yeah, I forgot to add the fixes tag here unfortunately.
>>>>
>>>> Already merged? What's the commit id to be cherry-picked? Rodrigo
>>>> can do
>>>> it manually.
>>>
>>> Yeah, it was merged to gt-next:
>>>
>>> 777226dac058 ("drm/i915/dmabuf: fix broken build")
>>
>> picked up to drm-intel-next-fixes
> 
> Thanks.

Hmm it looks like we have this in -fixes (and in -gt) while Linus has 
explicitly thrown it out (see 
https://lists.freedesktop.org/archives/dri-devel/2021-November/330928.html). 


End result is that now we have a different Kernel Test Robot warning 
("asm/smp.h is included more than once.").

So we need to fish out "drm/i915/dmabuf: fix broken build" out from 
fixes with a revert or what?

Regards,

Tvrtko

> 
>>
>> thanks,
>> Rodrigo.
>>
>>>
>>>>
>>>> Note to self, we should set up some way to check which maintainer
>>>> is
>>>> responsible for which branches and when.
>>>>
>>>> BR,
>>>> Jani.
>>>>
>>>>>
>>>>>>
>>>>>> Cc: Rodrigo who covers drm-intel-next-fixes atm.
>>>>>>
>>>>>> BR,
>>>>>> Jani.
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> ---
>>>>>>>>   drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 7 +++++++
>>>>>>>>   1 file changed, 7 insertions(+)
>>>>>>>>
>>>>>>>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>>>>>>>> b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>>>>>>>> index 1adcd8e02d29..a45d0ec2c5b6 100644
>>>>>>>> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>>>>>>>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
>>>>>>>> @@ -12,6 +12,13 @@
>>>>>>>>   #include "i915_gem_object.h"
>>>>>>>>   #include "i915_scatterlist.h"
>>>>>>>>
>>>>>>>> +#if defined(CONFIG_X86)
>>>>>>>> +#include <asm/smp.h>
>>>>>>>> +#else
>>>>>>>> +#define wbinvd_on_all_cpus() \
>>>>>>>> +       pr_warn(DRIVER_NAME ": Missing cache flush in
>>>>>>>> %s\n", __func__)
>>>>>>>> +#endif
>>>>>>>> +
>>>>>>>>   I915_SELFTEST_DECLARE(static bool
>>>>>>>> force_different_devices;)
>>>>>>>>
>>>>>>>>   static struct drm_i915_gem_object *dma_buf_to_obj(struct
>>>>>>>> dma_buf *buf)
>>>>>>>> -- 
>>>>>>>> 2.26.3
>>>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> Jani Nikula, Intel Open Source Graphics Center
>>>>
>>>> -- 
>>>> Jani Nikula, Intel Open Source Graphics Center
>>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
index 1adcd8e02d29..a45d0ec2c5b6 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
@@ -12,6 +12,13 @@ 
 #include "i915_gem_object.h"
 #include "i915_scatterlist.h"
 
+#if defined(CONFIG_X86)
+#include <asm/smp.h>
+#else
+#define wbinvd_on_all_cpus() \
+	pr_warn(DRIVER_NAME ": Missing cache flush in %s\n", __func__)
+#endif
+
 I915_SELFTEST_DECLARE(static bool force_different_devices;)
 
 static struct drm_i915_gem_object *dma_buf_to_obj(struct dma_buf *buf)