linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/msm: Use the correct dma_sync calls harder
@ 2019-09-04 17:17 Rob Clark
  2019-10-08 16:11 ` Fabio Estevam
  0 siblings, 1 reply; 4+ messages in thread
From: Rob Clark @ 2019-09-04 17:17 UTC (permalink / raw)
  To: dri-devel
  Cc: Rob Clark, Fabio Estevam, Rob Clark, Sean Paul, David Airlie,
	Daniel Vetter, open list:DRM DRIVER FOR MSM ADRENO GPU,
	open list:DRM DRIVER FOR MSM ADRENO GPU, open list

From: Rob Clark <robdclark@chromium.org>

Looks like the dma_sync calls don't do what we want on armv7 either.
Fixes:

  Unable to handle kernel paging request at virtual address 50001000
  pgd = (ptrval)
  [50001000] *pgd=00000000
  Internal error: Oops: 805 [#1] SMP ARM
  Modules linked in:
  CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.3.0-rc6-00271-g9f159ae07f07 #4
  Hardware name: Freescale i.MX53 (Device Tree Support)
  PC is at v7_dma_clean_range+0x20/0x38
  LR is at __dma_page_cpu_to_dev+0x28/0x90
  pc : [<c011c76c>]    lr : [<c01181c4>]    psr: 20000013
  sp : d80b5a88  ip : de96c000  fp : d840ce6c
  r10: 00000000  r9 : 00000001  r8 : d843e010
  r7 : 00000000  r6 : 00008000  r5 : ddb6c000  r4 : 00000000
  r3 : 0000003f  r2 : 00000040  r1 : 50008000  r0 : 50001000
  Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
  Control: 10c5387d  Table: 70004019  DAC: 00000051
  Process swapper/0 (pid: 1, stack limit = 0x(ptrval))

Signed-off-by: Rob Clark <robdclark@chromium.org>
Fixes: 3de433c5b38a ("drm/msm: Use the correct dma_sync calls in msm_gem")
Tested-by: Fabio Estevam <festevam@gmail.com>
---
 drivers/gpu/drm/msm/msm_gem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c
index 7263f4373f07..5a6a79fbc9d6 100644
--- a/drivers/gpu/drm/msm/msm_gem.c
+++ b/drivers/gpu/drm/msm/msm_gem.c
@@ -52,7 +52,7 @@ static void sync_for_device(struct msm_gem_object *msm_obj)
 {
 	struct device *dev = msm_obj->base.dev->dev;
 
-	if (get_dma_ops(dev)) {
+	if (get_dma_ops(dev) && IS_ENABLED(CONFIG_ARM64)) {
 		dma_sync_sg_for_device(dev, msm_obj->sgt->sgl,
 			msm_obj->sgt->nents, DMA_BIDIRECTIONAL);
 	} else {
@@ -65,7 +65,7 @@ static void sync_for_cpu(struct msm_gem_object *msm_obj)
 {
 	struct device *dev = msm_obj->base.dev->dev;
 
-	if (get_dma_ops(dev)) {
+	if (get_dma_ops(dev) && IS_ENABLED(CONFIG_ARM64)) {
 		dma_sync_sg_for_cpu(dev, msm_obj->sgt->sgl,
 			msm_obj->sgt->nents, DMA_BIDIRECTIONAL);
 	} else {
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/msm: Use the correct dma_sync calls harder
  2019-09-04 17:17 [PATCH] drm/msm: Use the correct dma_sync calls harder Rob Clark
@ 2019-10-08 16:11 ` Fabio Estevam
  2019-10-08 23:08   ` Rob Clark
  0 siblings, 1 reply; 4+ messages in thread
From: Fabio Estevam @ 2019-10-08 16:11 UTC (permalink / raw)
  To: Rob Clark
  Cc: DRI mailing list, Rob Clark, Sean Paul, David Airlie,
	Daniel Vetter, open list:DRM DRIVER FOR MSM ADRENO GPU,
	open list:DRM DRIVER FOR MSM ADRENO GPU, open list

Hi Rob,

On Wed, Sep 4, 2019 at 2:19 PM Rob Clark <robdclark@gmail.com> wrote:
>
> From: Rob Clark <robdclark@chromium.org>
>
> Looks like the dma_sync calls don't do what we want on armv7 either.
> Fixes:
>
>   Unable to handle kernel paging request at virtual address 50001000
>   pgd = (ptrval)
>   [50001000] *pgd=00000000
>   Internal error: Oops: 805 [#1] SMP ARM
>   Modules linked in:
>   CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.3.0-rc6-00271-g9f159ae07f07 #4
>   Hardware name: Freescale i.MX53 (Device Tree Support)
>   PC is at v7_dma_clean_range+0x20/0x38
>   LR is at __dma_page_cpu_to_dev+0x28/0x90
>   pc : [<c011c76c>]    lr : [<c01181c4>]    psr: 20000013
>   sp : d80b5a88  ip : de96c000  fp : d840ce6c
>   r10: 00000000  r9 : 00000001  r8 : d843e010
>   r7 : 00000000  r6 : 00008000  r5 : ddb6c000  r4 : 00000000
>   r3 : 0000003f  r2 : 00000040  r1 : 50008000  r0 : 50001000
>   Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
>   Control: 10c5387d  Table: 70004019  DAC: 00000051
>   Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
>
> Signed-off-by: Rob Clark <robdclark@chromium.org>
> Fixes: 3de433c5b38a ("drm/msm: Use the correct dma_sync calls in msm_gem")
> Tested-by: Fabio Estevam <festevam@gmail.com>

I see this one got applied in linux-next already.
Could it be sent to 5.4-rc, please?

mx53 boards cannot boot in mainline because of this.

Thanks

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/msm: Use the correct dma_sync calls harder
  2019-10-08 16:11 ` Fabio Estevam
@ 2019-10-08 23:08   ` Rob Clark
  2019-10-08 23:19     ` Fabio Estevam
  0 siblings, 1 reply; 4+ messages in thread
From: Rob Clark @ 2019-10-08 23:08 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: DRI mailing list, Rob Clark, Sean Paul, David Airlie,
	Daniel Vetter, open list:DRM DRIVER FOR MSM ADRENO GPU,
	open list:DRM DRIVER FOR MSM ADRENO GPU, open list

On Tue, Oct 8, 2019 at 9:11 AM Fabio Estevam <festevam@gmail.com> wrote:
>
> Hi Rob,
>
> On Wed, Sep 4, 2019 at 2:19 PM Rob Clark <robdclark@gmail.com> wrote:
> >
> > From: Rob Clark <robdclark@chromium.org>
> >
> > Looks like the dma_sync calls don't do what we want on armv7 either.
> > Fixes:
> >
> >   Unable to handle kernel paging request at virtual address 50001000
> >   pgd = (ptrval)
> >   [50001000] *pgd=00000000
> >   Internal error: Oops: 805 [#1] SMP ARM
> >   Modules linked in:
> >   CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.3.0-rc6-00271-g9f159ae07f07 #4
> >   Hardware name: Freescale i.MX53 (Device Tree Support)
> >   PC is at v7_dma_clean_range+0x20/0x38
> >   LR is at __dma_page_cpu_to_dev+0x28/0x90
> >   pc : [<c011c76c>]    lr : [<c01181c4>]    psr: 20000013
> >   sp : d80b5a88  ip : de96c000  fp : d840ce6c
> >   r10: 00000000  r9 : 00000001  r8 : d843e010
> >   r7 : 00000000  r6 : 00008000  r5 : ddb6c000  r4 : 00000000
> >   r3 : 0000003f  r2 : 00000040  r1 : 50008000  r0 : 50001000
> >   Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
> >   Control: 10c5387d  Table: 70004019  DAC: 00000051
> >   Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
> >
> > Signed-off-by: Rob Clark <robdclark@chromium.org>
> > Fixes: 3de433c5b38a ("drm/msm: Use the correct dma_sync calls in msm_gem")
> > Tested-by: Fabio Estevam <festevam@gmail.com>
>
> I see this one got applied in linux-next already.
> Could it be sent to 5.4-rc, please?

afaict this should be at least in v5.4-rc2.. am I missing something?

BR,
-R

>
> mx53 boards cannot boot in mainline because of this.
>
> Thanks

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/msm: Use the correct dma_sync calls harder
  2019-10-08 23:08   ` Rob Clark
@ 2019-10-08 23:19     ` Fabio Estevam
  0 siblings, 0 replies; 4+ messages in thread
From: Fabio Estevam @ 2019-10-08 23:19 UTC (permalink / raw)
  To: Rob Clark
  Cc: DRI mailing list, Rob Clark, Sean Paul, David Airlie,
	Daniel Vetter, open list:DRM DRIVER FOR MSM ADRENO GPU,
	open list:DRM DRIVER FOR MSM ADRENO GPU, open list

Hi Rob,

On Tue, Oct 8, 2019 at 8:08 PM Rob Clark <robdclark@gmail.com> wrote:

> afaict this should be at least in v5.4-rc2.. am I missing something?

You are right, it is in 5.4-rc indeed, sorry.

It is 5.3.x stable that has this commit missing, but I guess it will
be backported at some point.

Thanks!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-10-08 23:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-04 17:17 [PATCH] drm/msm: Use the correct dma_sync calls harder Rob Clark
2019-10-08 16:11 ` Fabio Estevam
2019-10-08 23:08   ` Rob Clark
2019-10-08 23:19     ` Fabio Estevam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).