Patch "drm/vmwgfx: Make sure we unpin no longer needed buffers" has been added to the 5.1-stable tree

2021-04-18 Thread gregkh

This is a note to let you know that I've just added the patch titled

drm/vmwgfx: Make sure we unpin no longer needed buffers

to the 5.1-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-vmwgfx-make-sure-we-unpin-no-longer-needed-buffers.patch
and it can be found in the queue-5.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From ab4d9913632b1e5ffcf3365783e98718b3c83c7f Mon Sep 17 00:00:00 2001
From: Zack Rusin 
Date: Thu, 14 Jan 2021 18:38:16 -0500
Subject: drm/vmwgfx: Make sure we unpin no longer needed buffers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Zack Rusin 

commit ab4d9913632b1e5ffcf3365783e98718b3c83c7f upstream.

We were not correctly unpinning no longer needed buffers. In particular
vmw_buffer_object, which is internally often pinned on creation wasn't
unpinned on destruction and none of the internal MOB buffers were
unpinned before being put back. Technically this existed for a
long time but commit 57fcd550eb15 ("drm/ttm: Warn on pinning without
holding a reference") introduced a WARN_ON which was filling up the
kernel logs rather quickly.

Quite frankly internal usage of vmw_buffer_object and in general
pinning needs to be refactored in vmwgfx but for now this makes
it work.

Signed-off-by: Zack Rusin 
Reviewed-by: Martin Krastev 
Reviewed-by: Roland Scheidegger 
Fixes: 57fcd550eb15 ("drm/ttm: Warn on pinning without holding a reference")
Link: https://patchwork.freedesktop.org/patch/414984/?series=86052&rev=1
Cc: Huang Rui 
Cc: Christian König 
Cc: Daniel Vetter 
Cc: Christian Koenig 
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h |2 ++
 drivers/gpu/drm/vmwgfx/vmwgfx_mob.c |4 
 2 files changed, 6 insertions(+)

--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
@@ -1554,6 +1554,8 @@ static inline void vmw_bo_unreference(st
 
*buf = NULL;
if (tmp_buf != NULL) {
+   if (tmp_buf->base.pin_count > 0)
+   ttm_bo_unpin(&tmp_buf->base);
ttm_bo_put(&tmp_buf->base);
}
 }
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
@@ -277,6 +277,7 @@ out_no_setup:
 &batch->otables[i]);
}
 
+   ttm_bo_unpin(batch->otable_bo);
ttm_bo_put(batch->otable_bo);
batch->otable_bo = NULL;
return ret;
@@ -342,6 +343,7 @@ static void vmw_otable_batch_takedown(st
vmw_bo_fence_single(bo, NULL);
ttm_bo_unreserve(bo);
 
+   ttm_bo_unpin(batch->otable_bo);
ttm_bo_put(batch->otable_bo);
batch->otable_bo = NULL;
 }
@@ -528,6 +530,7 @@ static void vmw_mob_pt_setup(struct vmw_
 void vmw_mob_destroy(struct vmw_mob *mob)
 {
if (mob->pt_bo) {
+   ttm_bo_unpin(mob->pt_bo);
ttm_bo_put(mob->pt_bo);
mob->pt_bo = NULL;
}
@@ -643,6 +646,7 @@ int vmw_mob_bind(struct vmw_private *dev
 out_no_cmd_space:
vmw_fifo_resource_dec(dev_priv);
if (pt_set_up) {
+   ttm_bo_unpin(mob->pt_bo);
ttm_bo_put(mob->pt_bo);
mob->pt_bo = NULL;
}


Patches currently in stable-queue which might be from za...@vmware.com are

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/vmwgfx: Make sure we unpin no longer needed buffers" has been added to the 5.11-stable tree

2021-04-18 Thread gregkh

This is a note to let you know that I've just added the patch titled

drm/vmwgfx: Make sure we unpin no longer needed buffers

to the 5.11-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-vmwgfx-make-sure-we-unpin-no-longer-needed-buffers.patch
and it can be found in the queue-5.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From ab4d9913632b1e5ffcf3365783e98718b3c83c7f Mon Sep 17 00:00:00 2001
From: Zack Rusin 
Date: Thu, 14 Jan 2021 18:38:16 -0500
Subject: drm/vmwgfx: Make sure we unpin no longer needed buffers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Zack Rusin 

commit ab4d9913632b1e5ffcf3365783e98718b3c83c7f upstream.

We were not correctly unpinning no longer needed buffers. In particular
vmw_buffer_object, which is internally often pinned on creation wasn't
unpinned on destruction and none of the internal MOB buffers were
unpinned before being put back. Technically this existed for a
long time but commit 57fcd550eb15 ("drm/ttm: Warn on pinning without
holding a reference") introduced a WARN_ON which was filling up the
kernel logs rather quickly.

Quite frankly internal usage of vmw_buffer_object and in general
pinning needs to be refactored in vmwgfx but for now this makes
it work.

Signed-off-by: Zack Rusin 
Reviewed-by: Martin Krastev 
Reviewed-by: Roland Scheidegger 
Fixes: 57fcd550eb15 ("drm/ttm: Warn on pinning without holding a reference")
Link: https://patchwork.freedesktop.org/patch/414984/?series=86052&rev=1
Cc: Huang Rui 
Cc: Christian König 
Cc: Daniel Vetter 
Cc: Christian Koenig 
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h |2 ++
 drivers/gpu/drm/vmwgfx/vmwgfx_mob.c |4 
 2 files changed, 6 insertions(+)

--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
@@ -1554,6 +1554,8 @@ static inline void vmw_bo_unreference(st
 
*buf = NULL;
if (tmp_buf != NULL) {
+   if (tmp_buf->base.pin_count > 0)
+   ttm_bo_unpin(&tmp_buf->base);
ttm_bo_put(&tmp_buf->base);
}
 }
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
@@ -277,6 +277,7 @@ out_no_setup:
 &batch->otables[i]);
}
 
+   ttm_bo_unpin(batch->otable_bo);
ttm_bo_put(batch->otable_bo);
batch->otable_bo = NULL;
return ret;
@@ -342,6 +343,7 @@ static void vmw_otable_batch_takedown(st
vmw_bo_fence_single(bo, NULL);
ttm_bo_unreserve(bo);
 
+   ttm_bo_unpin(batch->otable_bo);
ttm_bo_put(batch->otable_bo);
batch->otable_bo = NULL;
 }
@@ -528,6 +530,7 @@ static void vmw_mob_pt_setup(struct vmw_
 void vmw_mob_destroy(struct vmw_mob *mob)
 {
if (mob->pt_bo) {
+   ttm_bo_unpin(mob->pt_bo);
ttm_bo_put(mob->pt_bo);
mob->pt_bo = NULL;
}
@@ -643,6 +646,7 @@ int vmw_mob_bind(struct vmw_private *dev
 out_no_cmd_space:
vmw_fifo_resource_dec(dev_priv);
if (pt_set_up) {
+   ttm_bo_unpin(mob->pt_bo);
ttm_bo_put(mob->pt_bo);
mob->pt_bo = NULL;
}


Patches currently in stable-queue which might be from za...@vmware.com are

queue-5.11/drm-vmwgfx-make-sure-we-unpin-no-longer-needed-buffers.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/amdgpu: fix checking pmops when PM_SLEEP is not enabled" has been added to the 5.13-stable tree

2021-08-09 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/amdgpu: fix checking pmops when PM_SLEEP is not enabled

to the 5.13-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-amdgpu-fix-checking-pmops-when-pm_sleep-is-not-enabled.patch
and it can be found in the queue-5.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 5706cb3c910cc8283f344bc37a889a8d523a2c6d Mon Sep 17 00:00:00 2001
From: Randy Dunlap 
Date: Thu, 29 Jul 2021 20:03:47 -0700
Subject: drm/amdgpu: fix checking pmops when PM_SLEEP is not enabled
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Randy Dunlap 

commit 5706cb3c910cc8283f344bc37a889a8d523a2c6d upstream.

'pm_suspend_target_state' is only available when CONFIG_PM_SLEEP
is set/enabled. OTOH, when both SUSPEND and HIBERNATION are not set,
PM_SLEEP is not set, so this variable cannot be used.

../drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c: In function 
‘amdgpu_acpi_is_s0ix_active’:
../drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:1046:11: error: 
‘pm_suspend_target_state’ undeclared (first use in this function); did you mean 
‘__KSYM_pm_suspend_target_state’?
return pm_suspend_target_state == PM_SUSPEND_TO_IDLE;
   ^~~
   __KSYM_pm_suspend_target_state

Also use shorter IS_ENABLED(CONFIG_foo) notation for checking the
2 config symbols.

Fixes: 91e273712ab8dd ("drm/amdgpu: Check pmops for desired suspend state")
Signed-off-by: Randy Dunlap 
Cc: Alex Deucher 
Cc: Christian König 
Cc: "Pan, Xinhui" 
Cc: amd-...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: linux-n...@vger.kernel.org
Signed-off-by: Alex Deucher 
Cc: sta...@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
@@ -904,7 +904,7 @@ void amdgpu_acpi_fini(struct amdgpu_devi
  */
 bool amdgpu_acpi_is_s0ix_supported(struct amdgpu_device *adev)
 {
-#if defined(CONFIG_AMD_PMC) || defined(CONFIG_AMD_PMC_MODULE)
+#if IS_ENABLED(CONFIG_AMD_PMC) && IS_ENABLED(CONFIG_PM_SLEEP)
if (acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0) {
if (adev->flags & AMD_IS_APU)
return pm_suspend_target_state == PM_SUSPEND_TO_IDLE;


Patches currently in stable-queue which might be from rdun...@infradead.org are

queue-5.13/drm-i915-fix-i915_globals_exit-section-mismatch-erro.patch
queue-5.13/drm-amdgpu-fix-checking-pmops-when-pm_sleep-is-not-enabled.patch


[PATCH 5.11 094/306] drm/fb-helper: only unmap if buffer not null

2021-03-15 Thread gregkh
From: Greg Kroah-Hartman 

From: Tong Zhang 

commit 874a52f9b693ed8bf7a92b3592a547ce8a684e6f upstream.

drm_fbdev_cleanup() can be called when fb_helper->buffer is null, hence
fb_helper->buffer should be checked before calling
drm_client_buffer_vunmap(). This buffer is also checked in
drm_client_framebuffer_delete(), so we should also do the same thing for
drm_client_buffer_vunmap().

[  199.128742] RIP: 0010:drm_client_buffer_vunmap+0xd/0x20
[  199.129031] Code: 43 18 48 8b 53 20 49 89 45 00 49 89 55 08 5b 44 89 e0 41 
5c 41 5d 41 5e 5d
c3 0f 1f 00 53 48 89 fb 48 8d 7f 10 e8 73 7d a1 ff <48> 8b 7b 10 48 8d 73 18 5b 
e9 75 53 fc ff 0
f 1f 44 00 00 48 b8 00
[  199.130041] RSP: 0018:888103f3fc88 EFLAGS: 00010282
[  199.130329] RAX: 0001 RBX:  RCX: 8214d46d
[  199.130733] RDX: 1079c6b9 RSI: 0246 RDI: 83ce35c8
[  199.131119] RBP: 888103d25458 R08: 0001 R09: fbfff0791761
[  199.131505] R10: 83c8bb07 R11: fbfff0791760 R12: 
[  199.131891] R13: 888103d25468 R14: 888103d25418 R15: 888103f18120
[  199.132277] FS:  7f36fdcbb6a0() GS:88815b40() 
knlGS:
[  199.132721] CS:  0010 DS:  ES:  CR0: 80050033
[  199.133033] CR2: 0010 CR3: 000103d26000 CR4: 06f0
[  199.133420] DR0:  DR1:  DR2: 
[  199.133807] DR3:  DR6: fffe0ff0 DR7: 0400
[  199.134195] Call Trace:
[  199.134333]  drm_fbdev_cleanup+0x179/0x1a0
[  199.134562]  drm_fbdev_client_unregister+0x2b/0x40
[  199.134828]  drm_client_dev_unregister+0xa8/0x180
[  199.135088]  drm_dev_unregister+0x61/0x110
[  199.135315]  mgag200_pci_remove+0x38/0x52 [mgag200]
[  199.135586]  pci_device_remove+0x62/0xe0
[  199.135806]  device_release_driver_internal+0x148/0x270
[  199.136094]  driver_detach+0x76/0xe0
[  199.136294]  bus_remove_driver+0x7e/0x100
[  199.136521]  pci_unregister_driver+0x28/0xf0
[  199.136759]  __x64_sys_delete_module+0x268/0x300
[  199.137016]  ? __ia32_sys_delete_module+0x300/0x300
[  199.137285]  ? call_rcu+0x3e4/0x580
[  199.137481]  ? fpregs_assert_state_consistent+0x4d/0x60
[  199.137767]  ? exit_to_user_mode_prepare+0x2f/0x130
[  199.138037]  do_syscall_64+0x33/0x40
[  199.138237]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[  199.138517] RIP: 0033:0x7f36fdc3dcf7

Signed-off-by: Tong Zhang 
Fixes: 763aea17bf57 ("drm/fb-helper: Unmap client buffer during shutdown")
Cc: Thomas Zimmermann 
Cc: Sam Ravnborg 
Cc: Maxime Ripard 
Cc: Maarten Lankhorst 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.11+
Signed-off-by: Thomas Zimmermann 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210228044625.171151-1-ztong0...@gmail.com
Signed-off-by: Maarten Lankhorst 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_fb_helper.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -2043,7 +2043,7 @@ static void drm_fbdev_cleanup(struct drm
 
if (shadow)
vfree(shadow);
-   else
+   else if (fb_helper->buffer)
drm_client_buffer_vunmap(fb_helper->buffer);
 
drm_client_framebuffer_delete(fb_helper->buffer);


___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/syncobj: Fix use-after-free" has been added to the 5.4-stable tree

2021-01-24 Thread gregkh

This is a note to let you know that I've just added the patch titled

drm/syncobj: Fix use-after-free

to the 5.4-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-syncobj-fix-use-after-free.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From a37eef63bc9e16e06361b539e528058146af80ab Mon Sep 17 00:00:00 2001
From: Daniel Vetter 
Date: Tue, 19 Jan 2021 14:03:18 +0100
Subject: drm/syncobj: Fix use-after-free
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Daniel Vetter 

commit a37eef63bc9e16e06361b539e528058146af80ab upstream.

While reviewing Christian's annotation patch I noticed that we have a
user-after-free for the WAIT_FOR_SUBMIT case: We drop the syncobj
reference before we've completed the waiting.

Of course usually there's nothing bad happening here since userspace
keeps the reference, but we can't rely on userspace to play nice here!

Signed-off-by: Daniel Vetter 
Fixes: bc9c80fe01a2 ("drm/syncobj: use the timeline point in 
drm_syncobj_find_fence v4")
Reviewed-by: Christian König 
Cc: Christian König 
Cc: Lionel Landwerlin 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.2+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210119130318.615145-1-daniel.vet...@ffwll.ch
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/drm_syncobj.c |8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/drm_syncobj.c
+++ b/drivers/gpu/drm/drm_syncobj.c
@@ -326,19 +326,18 @@ int drm_syncobj_find_fence(struct drm_fi
return -ENOENT;
 
*fence = drm_syncobj_fence_get(syncobj);
-   drm_syncobj_put(syncobj);
 
if (*fence) {
ret = dma_fence_chain_find_seqno(fence, point);
if (!ret)
-   return 0;
+   goto out;
dma_fence_put(*fence);
} else {
ret = -EINVAL;
}
 
if (!(flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT))
-   return ret;
+   goto out;
 
memset(&wait, 0, sizeof(wait));
wait.task = current;
@@ -370,6 +369,9 @@ int drm_syncobj_find_fence(struct drm_fi
if (wait.node.next)
drm_syncobj_remove_wait(syncobj, &wait);
 
+out:
+   drm_syncobj_put(syncobj);
+
return ret;
 }
 EXPORT_SYMBOL(drm_syncobj_find_fence);


Patches currently in stable-queue which might be from daniel.vet...@ffwll.ch are

queue-5.4/drm-syncobj-fix-use-after-free.patch
queue-5.4/drm-atomic-put-state-on-error-path.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/syncobj: Fix use-after-free" has been added to the 5.10-stable tree

2021-01-24 Thread gregkh

This is a note to let you know that I've just added the patch titled

drm/syncobj: Fix use-after-free

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-syncobj-fix-use-after-free.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From a37eef63bc9e16e06361b539e528058146af80ab Mon Sep 17 00:00:00 2001
From: Daniel Vetter 
Date: Tue, 19 Jan 2021 14:03:18 +0100
Subject: drm/syncobj: Fix use-after-free
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Daniel Vetter 

commit a37eef63bc9e16e06361b539e528058146af80ab upstream.

While reviewing Christian's annotation patch I noticed that we have a
user-after-free for the WAIT_FOR_SUBMIT case: We drop the syncobj
reference before we've completed the waiting.

Of course usually there's nothing bad happening here since userspace
keeps the reference, but we can't rely on userspace to play nice here!

Signed-off-by: Daniel Vetter 
Fixes: bc9c80fe01a2 ("drm/syncobj: use the timeline point in 
drm_syncobj_find_fence v4")
Reviewed-by: Christian König 
Cc: Christian König 
Cc: Lionel Landwerlin 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.2+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210119130318.615145-1-daniel.vet...@ffwll.ch
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/drm_syncobj.c |8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/drm_syncobj.c
+++ b/drivers/gpu/drm/drm_syncobj.c
@@ -388,19 +388,18 @@ int drm_syncobj_find_fence(struct drm_fi
return -ENOENT;
 
*fence = drm_syncobj_fence_get(syncobj);
-   drm_syncobj_put(syncobj);
 
if (*fence) {
ret = dma_fence_chain_find_seqno(fence, point);
if (!ret)
-   return 0;
+   goto out;
dma_fence_put(*fence);
} else {
ret = -EINVAL;
}
 
if (!(flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT))
-   return ret;
+   goto out;
 
memset(&wait, 0, sizeof(wait));
wait.task = current;
@@ -432,6 +431,9 @@ int drm_syncobj_find_fence(struct drm_fi
if (wait.node.next)
drm_syncobj_remove_wait(syncobj, &wait);
 
+out:
+   drm_syncobj_put(syncobj);
+
return ret;
 }
 EXPORT_SYMBOL(drm_syncobj_find_fence);


Patches currently in stable-queue which might be from daniel.vet...@ffwll.ch are

queue-5.10/drm-syncobj-fix-use-after-free.patch
queue-5.10/drm-atomic-put-state-on-error-path.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/dp/mst: Export drm_dp_get_vc_payload_bw()" has been added to the 5.10-stable tree

2021-02-08 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp/mst: Export drm_dp_get_vc_payload_bw()

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-dp-mst-export-drm_dp_get_vc_payload_bw.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 83404d581471775f37f85e5261ec0d09407d8bed Mon Sep 17 00:00:00 2001
From: Imre Deak 
Date: Mon, 25 Jan 2021 19:36:35 +0200
Subject: drm/dp/mst: Export drm_dp_get_vc_payload_bw()

From: Imre Deak 

commit 83404d581471775f37f85e5261ec0d09407d8bed upstream.

This function will be needed by the next patch where the driver
calculates the BW based on driver specific parameters, so export it.

At the same time sanitize the function params, passing the more natural
link rate instead of the encoding of the same rate.

v2:
- Fix function documentation. (Lyude)

Cc: Lyude Paul 
Cc: Ville Syrjala 
Cc: 
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Imre Deak 
Reviewed-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210125173636.1733812-1-imre.d...@intel.com
(cherry picked from commit a321fc2b4e60fc1b39517d26c8104351636a6062)
Signed-off-by: Jani Nikula 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_dp_mst_topology.c |   24 ++--
 include/drm/drm_dp_mst_helper.h   |1 +
 2 files changed, 19 insertions(+), 6 deletions(-)

--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -3629,14 +3629,26 @@ static int drm_dp_send_up_ack_reply(stru
return 0;
 }
 
-static int drm_dp_get_vc_payload_bw(u8 dp_link_bw, u8  dp_link_count)
+/**
+ * drm_dp_get_vc_payload_bw - get the VC payload BW for an MST link
+ * @link_rate: link rate in 10kbits/s units
+ * @link_lane_count: lane count
+ *
+ * Calculate the total bandwidth of a MultiStream Transport link. The returned
+ * value is in units of PBNs/(timeslots/1 MTP). This value can be used to
+ * convert the number of PBNs required for a given stream to the number of
+ * timeslots this stream requires in each MTP.
+ */
+int drm_dp_get_vc_payload_bw(int link_rate, int link_lane_count)
 {
-   if (dp_link_bw == 0 || dp_link_count == 0)
-   DRM_DEBUG_KMS("invalid link bandwidth in DPCD: %x (link count: 
%d)\n",
- dp_link_bw, dp_link_count);
+   if (link_rate == 0 || link_lane_count == 0)
+   DRM_DEBUG_KMS("invalid link rate/lane count: (%d / %d)\n",
+ link_rate, link_lane_count);
 
-   return dp_link_bw * dp_link_count / 2;
+   /* See DP v2.0 2.6.4.2, 
VCPayload_Bandwidth_for_OneTimeSlotPer_MTP_Allocation */
+   return link_rate * link_lane_count / 54000;
 }
+EXPORT_SYMBOL(drm_dp_get_vc_payload_bw);
 
 /**
  * drm_dp_read_mst_cap() - check whether or not a sink supports MST
@@ -3692,7 +3704,7 @@ int drm_dp_mst_topology_mgr_set_mst(stru
goto out_unlock;
}
 
-   mgr->pbn_div = drm_dp_get_vc_payload_bw(mgr->dpcd[1],
+   mgr->pbn_div = 
drm_dp_get_vc_payload_bw(drm_dp_bw_code_to_link_rate(mgr->dpcd[1]),
mgr->dpcd[2] & 
DP_MAX_LANE_COUNT_MASK);
if (mgr->pbn_div == 0) {
ret = -EINVAL;
--- a/include/drm/drm_dp_mst_helper.h
+++ b/include/drm/drm_dp_mst_helper.h
@@ -783,6 +783,7 @@ drm_dp_mst_detect_port(struct drm_connec
 
 struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct 
drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port);
 
+int drm_dp_get_vc_payload_bw(int link_rate, int link_lane_count);
 
 int drm_dp_calc_pbn_mode(int clock, int bpp, bool dsc);
 


Patches currently in stable-queue which might be from imre.d...@intel.com are

queue-5.10/drm-i915-power-up-combo-phy-lanes-for-for-hdmi-as-well.patch
queue-5.10/drm-dp-mst-export-drm_dp_get_vc_payload_bw.patch
queue-5.10/drm-i915-extract-intel_ddi_power_up_lanes.patch
queue-5.10/drm-i915-fix-the-mst-pbn-divider-calculation.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/nouveau/kms: handle mDP connectors" has been added to the 5.4-stable tree

2021-03-01 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/nouveau/kms: handle mDP connectors

to the 5.4-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-nouveau-kms-handle-mdp-connectors.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From d1f5a3fc85566e9ddce9361ef180f070367e6eab Mon Sep 17 00:00:00 2001
From: Karol Herbst 
Date: Fri, 27 Nov 2020 19:39:09 +0100
Subject: drm/nouveau/kms: handle mDP connectors

From: Karol Herbst 

commit d1f5a3fc85566e9ddce9361ef180f070367e6eab upstream.

In some cases we have the handle those explicitly as the fallback
connector type detection fails and marks those as eDP connectors.

Attempting to use such a connector with mutter leads to a crash of mutter
as it ends up with two eDP displays.

Information is taken from the official DCB documentation.

Cc: sta...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: Ben Skeggs 
Reported-by: Mark Pearson 
Tested-by: Mark Pearson 
Signed-off-by: Karol Herbst 
Signed-off-by: Ben Skeggs 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h |1 +
 drivers/gpu/drm/nouveau/nouveau_connector.c |1 +
 2 files changed, 2 insertions(+)

--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h
@@ -14,6 +14,7 @@ enum dcb_connector_type {
DCB_CONNECTOR_LVDS_SPWG = 0x41,
DCB_CONNECTOR_DP = 0x46,
DCB_CONNECTOR_eDP = 0x47,
+   DCB_CONNECTOR_mDP = 0x48,
DCB_CONNECTOR_HDMI_0 = 0x60,
DCB_CONNECTOR_HDMI_1 = 0x61,
DCB_CONNECTOR_HDMI_C = 0x63,
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -1240,6 +1240,7 @@ drm_conntype_from_dcb(enum dcb_connector
case DCB_CONNECTOR_DMS59_DP0:
case DCB_CONNECTOR_DMS59_DP1:
case DCB_CONNECTOR_DP   :
+   case DCB_CONNECTOR_mDP  :
case DCB_CONNECTOR_USB_C: return DRM_MODE_CONNECTOR_DisplayPort;
case DCB_CONNECTOR_eDP  : return DRM_MODE_CONNECTOR_eDP;
case DCB_CONNECTOR_HDMI_0   :


Patches currently in stable-queue which might be from kher...@redhat.com are

queue-5.4/drm-nouveau-kms-handle-mdp-connectors.patch
queue-5.4/drm-nouveau-bail-out-of-nouveau_channel_new-if-chann.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/nouveau/kms: handle mDP connectors" has been added to the 5.10-stable tree

2021-03-01 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/nouveau/kms: handle mDP connectors

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-nouveau-kms-handle-mdp-connectors.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From d1f5a3fc85566e9ddce9361ef180f070367e6eab Mon Sep 17 00:00:00 2001
From: Karol Herbst 
Date: Fri, 27 Nov 2020 19:39:09 +0100
Subject: drm/nouveau/kms: handle mDP connectors

From: Karol Herbst 

commit d1f5a3fc85566e9ddce9361ef180f070367e6eab upstream.

In some cases we have the handle those explicitly as the fallback
connector type detection fails and marks those as eDP connectors.

Attempting to use such a connector with mutter leads to a crash of mutter
as it ends up with two eDP displays.

Information is taken from the official DCB documentation.

Cc: sta...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: Ben Skeggs 
Reported-by: Mark Pearson 
Tested-by: Mark Pearson 
Signed-off-by: Karol Herbst 
Signed-off-by: Ben Skeggs 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h |1 +
 drivers/gpu/drm/nouveau/nouveau_connector.c |1 +
 2 files changed, 2 insertions(+)

--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h
@@ -14,6 +14,7 @@ enum dcb_connector_type {
DCB_CONNECTOR_LVDS_SPWG = 0x41,
DCB_CONNECTOR_DP = 0x46,
DCB_CONNECTOR_eDP = 0x47,
+   DCB_CONNECTOR_mDP = 0x48,
DCB_CONNECTOR_HDMI_0 = 0x60,
DCB_CONNECTOR_HDMI_1 = 0x61,
DCB_CONNECTOR_HDMI_C = 0x63,
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -1210,6 +1210,7 @@ drm_conntype_from_dcb(enum dcb_connector
case DCB_CONNECTOR_DMS59_DP0:
case DCB_CONNECTOR_DMS59_DP1:
case DCB_CONNECTOR_DP   :
+   case DCB_CONNECTOR_mDP  :
case DCB_CONNECTOR_USB_C: return DRM_MODE_CONNECTOR_DisplayPort;
case DCB_CONNECTOR_eDP  : return DRM_MODE_CONNECTOR_eDP;
case DCB_CONNECTOR_HDMI_0   :


Patches currently in stable-queue which might be from kher...@redhat.com are

queue-5.10/drm-nouveau-kms-handle-mdp-connectors.patch
queue-5.10/drm-nouveau-bail-out-of-nouveau_channel_new-if-chann.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/nouveau/kms: handle mDP connectors" has been added to the 5.11-stable tree

2021-03-01 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/nouveau/kms: handle mDP connectors

to the 5.11-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-nouveau-kms-handle-mdp-connectors.patch
and it can be found in the queue-5.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From d1f5a3fc85566e9ddce9361ef180f070367e6eab Mon Sep 17 00:00:00 2001
From: Karol Herbst 
Date: Fri, 27 Nov 2020 19:39:09 +0100
Subject: drm/nouveau/kms: handle mDP connectors

From: Karol Herbst 

commit d1f5a3fc85566e9ddce9361ef180f070367e6eab upstream.

In some cases we have the handle those explicitly as the fallback
connector type detection fails and marks those as eDP connectors.

Attempting to use such a connector with mutter leads to a crash of mutter
as it ends up with two eDP displays.

Information is taken from the official DCB documentation.

Cc: sta...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: Ben Skeggs 
Reported-by: Mark Pearson 
Tested-by: Mark Pearson 
Signed-off-by: Karol Herbst 
Signed-off-by: Ben Skeggs 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h |1 +
 drivers/gpu/drm/nouveau/nouveau_connector.c |1 +
 2 files changed, 2 insertions(+)

--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h
@@ -14,6 +14,7 @@ enum dcb_connector_type {
DCB_CONNECTOR_LVDS_SPWG = 0x41,
DCB_CONNECTOR_DP = 0x46,
DCB_CONNECTOR_eDP = 0x47,
+   DCB_CONNECTOR_mDP = 0x48,
DCB_CONNECTOR_HDMI_0 = 0x60,
DCB_CONNECTOR_HDMI_1 = 0x61,
DCB_CONNECTOR_HDMI_C = 0x63,
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -1210,6 +1210,7 @@ drm_conntype_from_dcb(enum dcb_connector
case DCB_CONNECTOR_DMS59_DP0:
case DCB_CONNECTOR_DMS59_DP1:
case DCB_CONNECTOR_DP   :
+   case DCB_CONNECTOR_mDP  :
case DCB_CONNECTOR_USB_C: return DRM_MODE_CONNECTOR_DisplayPort;
case DCB_CONNECTOR_eDP  : return DRM_MODE_CONNECTOR_eDP;
case DCB_CONNECTOR_HDMI_0   :


Patches currently in stable-queue which might be from kher...@redhat.com are

queue-5.11/drm-nouveau-kms-handle-mdp-connectors.patch
queue-5.11/drm-nouveau-bail-out-of-nouveau_channel_new-if-chann.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/fb-helper: only unmap if buffer not null" has been added to the 5.11-stable tree

2021-03-12 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/fb-helper: only unmap if buffer not null

to the 5.11-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-fb-helper-only-unmap-if-buffer-not-null.patch
and it can be found in the queue-5.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 874a52f9b693ed8bf7a92b3592a547ce8a684e6f Mon Sep 17 00:00:00 2001
From: Tong Zhang 
Date: Sat, 27 Feb 2021 23:46:25 -0500
Subject: drm/fb-helper: only unmap if buffer not null

From: Tong Zhang 

commit 874a52f9b693ed8bf7a92b3592a547ce8a684e6f upstream.

drm_fbdev_cleanup() can be called when fb_helper->buffer is null, hence
fb_helper->buffer should be checked before calling
drm_client_buffer_vunmap(). This buffer is also checked in
drm_client_framebuffer_delete(), so we should also do the same thing for
drm_client_buffer_vunmap().

[  199.128742] RIP: 0010:drm_client_buffer_vunmap+0xd/0x20
[  199.129031] Code: 43 18 48 8b 53 20 49 89 45 00 49 89 55 08 5b 44 89 e0 41 
5c 41 5d 41 5e 5d
c3 0f 1f 00 53 48 89 fb 48 8d 7f 10 e8 73 7d a1 ff <48> 8b 7b 10 48 8d 73 18 5b 
e9 75 53 fc ff 0
f 1f 44 00 00 48 b8 00
[  199.130041] RSP: 0018:888103f3fc88 EFLAGS: 00010282
[  199.130329] RAX: 0001 RBX:  RCX: 8214d46d
[  199.130733] RDX: 1079c6b9 RSI: 0246 RDI: 83ce35c8
[  199.131119] RBP: 888103d25458 R08: 0001 R09: fbfff0791761
[  199.131505] R10: 83c8bb07 R11: fbfff0791760 R12: 
[  199.131891] R13: 888103d25468 R14: 888103d25418 R15: 888103f18120
[  199.132277] FS:  7f36fdcbb6a0() GS:88815b40() 
knlGS:
[  199.132721] CS:  0010 DS:  ES:  CR0: 80050033
[  199.133033] CR2: 0010 CR3: 000103d26000 CR4: 06f0
[  199.133420] DR0:  DR1:  DR2: 
[  199.133807] DR3:  DR6: fffe0ff0 DR7: 0400
[  199.134195] Call Trace:
[  199.134333]  drm_fbdev_cleanup+0x179/0x1a0
[  199.134562]  drm_fbdev_client_unregister+0x2b/0x40
[  199.134828]  drm_client_dev_unregister+0xa8/0x180
[  199.135088]  drm_dev_unregister+0x61/0x110
[  199.135315]  mgag200_pci_remove+0x38/0x52 [mgag200]
[  199.135586]  pci_device_remove+0x62/0xe0
[  199.135806]  device_release_driver_internal+0x148/0x270
[  199.136094]  driver_detach+0x76/0xe0
[  199.136294]  bus_remove_driver+0x7e/0x100
[  199.136521]  pci_unregister_driver+0x28/0xf0
[  199.136759]  __x64_sys_delete_module+0x268/0x300
[  199.137016]  ? __ia32_sys_delete_module+0x300/0x300
[  199.137285]  ? call_rcu+0x3e4/0x580
[  199.137481]  ? fpregs_assert_state_consistent+0x4d/0x60
[  199.137767]  ? exit_to_user_mode_prepare+0x2f/0x130
[  199.138037]  do_syscall_64+0x33/0x40
[  199.138237]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[  199.138517] RIP: 0033:0x7f36fdc3dcf7

Signed-off-by: Tong Zhang 
Fixes: 763aea17bf57 ("drm/fb-helper: Unmap client buffer during shutdown")
Cc: Thomas Zimmermann 
Cc: Sam Ravnborg 
Cc: Maxime Ripard 
Cc: Maarten Lankhorst 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.11+
Signed-off-by: Thomas Zimmermann 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210228044625.171151-1-ztong0...@gmail.com
Signed-off-by: Maarten Lankhorst 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_fb_helper.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -2043,7 +2043,7 @@ static void drm_fbdev_cleanup(struct drm
 
if (shadow)
vfree(shadow);
-   else
+   else if (fb_helper->buffer)
drm_client_buffer_vunmap(fb_helper->buffer);
 
drm_client_framebuffer_delete(fb_helper->buffer);


Patches currently in stable-queue which might be from ztong0...@gmail.com are

queue-5.11/drm-fb-helper-only-unmap-if-buffer-not-null.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm: bridge: fix LONTIUM use of mipi_dsi_() functions" has been added to the 5.10-stable tree

2021-05-12 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm: bridge: fix LONTIUM use of mipi_dsi_() functions

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-bridge-fix-lontium-use-of-mipi_dsi_-functions.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From ad085b3a712a89e4a48472121b231add7a8362e4 Mon Sep 17 00:00:00 2001
From: Randy Dunlap 
Date: Thu, 15 Apr 2021 11:36:39 -0700
Subject: drm: bridge: fix LONTIUM use of mipi_dsi_() functions

From: Randy Dunlap 

commit ad085b3a712a89e4a48472121b231add7a8362e4 upstream.

The Lontium DRM bridge drivers use mipi_dsi_() function interfaces so
they need to select DRM_MIPI_DSI to prevent build errors.

ERROR: modpost: "mipi_dsi_attach" [drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] 
undefined!
ERROR: modpost: "mipi_dsi_device_register_full" 
[drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] undefined!
ERROR: modpost: "of_find_mipi_dsi_host_by_node" 
[drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] undefined!
ERROR: modpost: "mipi_dsi_device_unregister" 
[drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] undefined!
ERROR: modpost: "mipi_dsi_detach" [drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] 
undefined!
ERROR: modpost: "mipi_dsi_attach" [drivers/gpu/drm/bridge/lontium-lt9611.ko] 
undefined!
ERROR: modpost: "mipi_dsi_device_register_full" 
[drivers/gpu/drm/bridge/lontium-lt9611.ko] undefined!
ERROR: modpost: "of_find_mipi_dsi_host_by_node" 
[drivers/gpu/drm/bridge/lontium-lt9611.ko] undefined!
ERROR: modpost: "mipi_dsi_device_unregister" 
[drivers/gpu/drm/bridge/lontium-lt9611.ko] undefined!
ERROR: modpost: "mipi_dsi_detach" [drivers/gpu/drm/bridge/lontium-lt9611.ko] 
undefined!
WARNING: modpost: suppressed 5 unresolved symbol warnings because there were 
too many)

Fixes: 23278bf54afe ("drm/bridge: Introduce LT9611 DSI to HDMI bridge")
Fixes: 0cbbd5b1a012 ("drm: bridge: add support for lontium LT9611UXC bridge")
Fixes: 30e2ae943c26 ("drm/bridge: Introduce LT8912B DSI to HDMI bridge")
Reported-by: kernel test robot 
Signed-off-by: Randy Dunlap 
Reviewed-by: Adren Grassein 
Cc: Dmitry Baryshkov 
Cc: Sam Ravnborg 
Cc: Vinod Koul 
Cc: Bjorn Andersson 
Cc: Srinivas Kandagatla 
Cc: Adrien Grassein 
Cc: Andrzej Hajda 
Cc: Neil Armstrong 
Cc: Robert Foss 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org
Signed-off-by: Robert Foss 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210415183639.1487-1-rdun...@infradead.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/bridge/Kconfig |3 +++
 1 file changed, 3 insertions(+)

--- a/drivers/gpu/drm/bridge/Kconfig
+++ b/drivers/gpu/drm/bridge/Kconfig
@@ -54,6 +54,7 @@ config DRM_LONTIUM_LT9611
depends on OF
select DRM_PANEL_BRIDGE
select DRM_KMS_HELPER
+   select DRM_MIPI_DSI
select REGMAP_I2C
help
  Driver for Lontium LT9611 DSI to HDMI bridge
@@ -138,6 +139,7 @@ config DRM_SII902X
tristate "Silicon Image sii902x RGB/HDMI bridge"
depends on OF
select DRM_KMS_HELPER
+   select DRM_MIPI_DSI
select REGMAP_I2C
select I2C_MUX
select SND_SOC_HDMI_CODEC if SND_SOC
@@ -187,6 +189,7 @@ config DRM_TOSHIBA_TC358767
tristate "Toshiba TC358767 eDP bridge"
depends on OF
select DRM_KMS_HELPER
+   select DRM_MIPI_DSI
select REGMAP_I2C
select DRM_PANEL
help


Patches currently in stable-queue which might be from rdun...@infradead.org are

queue-5.10/drm-bridge-fix-lontium-use-of-mipi_dsi_-functions.patch


Patch "drm: bridge: fix LONTIUM use of mipi_dsi_() functions" has been added to the 5.11-stable tree

2021-05-12 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm: bridge: fix LONTIUM use of mipi_dsi_() functions

to the 5.11-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-bridge-fix-lontium-use-of-mipi_dsi_-functions.patch
and it can be found in the queue-5.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From ad085b3a712a89e4a48472121b231add7a8362e4 Mon Sep 17 00:00:00 2001
From: Randy Dunlap 
Date: Thu, 15 Apr 2021 11:36:39 -0700
Subject: drm: bridge: fix LONTIUM use of mipi_dsi_() functions

From: Randy Dunlap 

commit ad085b3a712a89e4a48472121b231add7a8362e4 upstream.

The Lontium DRM bridge drivers use mipi_dsi_() function interfaces so
they need to select DRM_MIPI_DSI to prevent build errors.

ERROR: modpost: "mipi_dsi_attach" [drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] 
undefined!
ERROR: modpost: "mipi_dsi_device_register_full" 
[drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] undefined!
ERROR: modpost: "of_find_mipi_dsi_host_by_node" 
[drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] undefined!
ERROR: modpost: "mipi_dsi_device_unregister" 
[drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] undefined!
ERROR: modpost: "mipi_dsi_detach" [drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] 
undefined!
ERROR: modpost: "mipi_dsi_attach" [drivers/gpu/drm/bridge/lontium-lt9611.ko] 
undefined!
ERROR: modpost: "mipi_dsi_device_register_full" 
[drivers/gpu/drm/bridge/lontium-lt9611.ko] undefined!
ERROR: modpost: "of_find_mipi_dsi_host_by_node" 
[drivers/gpu/drm/bridge/lontium-lt9611.ko] undefined!
ERROR: modpost: "mipi_dsi_device_unregister" 
[drivers/gpu/drm/bridge/lontium-lt9611.ko] undefined!
ERROR: modpost: "mipi_dsi_detach" [drivers/gpu/drm/bridge/lontium-lt9611.ko] 
undefined!
WARNING: modpost: suppressed 5 unresolved symbol warnings because there were 
too many)

Fixes: 23278bf54afe ("drm/bridge: Introduce LT9611 DSI to HDMI bridge")
Fixes: 0cbbd5b1a012 ("drm: bridge: add support for lontium LT9611UXC bridge")
Fixes: 30e2ae943c26 ("drm/bridge: Introduce LT8912B DSI to HDMI bridge")
Reported-by: kernel test robot 
Signed-off-by: Randy Dunlap 
Reviewed-by: Adren Grassein 
Cc: Dmitry Baryshkov 
Cc: Sam Ravnborg 
Cc: Vinod Koul 
Cc: Bjorn Andersson 
Cc: Srinivas Kandagatla 
Cc: Adrien Grassein 
Cc: Andrzej Hajda 
Cc: Neil Armstrong 
Cc: Robert Foss 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org
Signed-off-by: Robert Foss 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210415183639.1487-1-rdun...@infradead.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/bridge/Kconfig |3 +++
 1 file changed, 3 insertions(+)

--- a/drivers/gpu/drm/bridge/Kconfig
+++ b/drivers/gpu/drm/bridge/Kconfig
@@ -67,6 +67,7 @@ config DRM_LONTIUM_LT9611UXC
depends on OF
select DRM_PANEL_BRIDGE
select DRM_KMS_HELPER
+   select DRM_MIPI_DSI
select REGMAP_I2C
help
  Driver for Lontium LT9611UXC DSI to HDMI bridge
@@ -151,6 +152,7 @@ config DRM_SII902X
tristate "Silicon Image sii902x RGB/HDMI bridge"
depends on OF
select DRM_KMS_HELPER
+   select DRM_MIPI_DSI
select REGMAP_I2C
select I2C_MUX
select SND_SOC_HDMI_CODEC if SND_SOC
@@ -200,6 +202,7 @@ config DRM_TOSHIBA_TC358767
tristate "Toshiba TC358767 eDP bridge"
depends on OF
select DRM_KMS_HELPER
+   select DRM_MIPI_DSI
select REGMAP_I2C
select DRM_PANEL
help


Patches currently in stable-queue which might be from rdun...@infradead.org are

queue-5.11/drm-bridge-fix-lontium-use-of-mipi_dsi_-functions.patch


Patch "drm: bridge: fix LONTIUM use of mipi_dsi_() functions" has been added to the 5.12-stable tree

2021-05-12 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm: bridge: fix LONTIUM use of mipi_dsi_() functions

to the 5.12-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-bridge-fix-lontium-use-of-mipi_dsi_-functions.patch
and it can be found in the queue-5.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From ad085b3a712a89e4a48472121b231add7a8362e4 Mon Sep 17 00:00:00 2001
From: Randy Dunlap 
Date: Thu, 15 Apr 2021 11:36:39 -0700
Subject: drm: bridge: fix LONTIUM use of mipi_dsi_() functions

From: Randy Dunlap 

commit ad085b3a712a89e4a48472121b231add7a8362e4 upstream.

The Lontium DRM bridge drivers use mipi_dsi_() function interfaces so
they need to select DRM_MIPI_DSI to prevent build errors.

ERROR: modpost: "mipi_dsi_attach" [drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] 
undefined!
ERROR: modpost: "mipi_dsi_device_register_full" 
[drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] undefined!
ERROR: modpost: "of_find_mipi_dsi_host_by_node" 
[drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] undefined!
ERROR: modpost: "mipi_dsi_device_unregister" 
[drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] undefined!
ERROR: modpost: "mipi_dsi_detach" [drivers/gpu/drm/bridge/lontium-lt9611uxc.ko] 
undefined!
ERROR: modpost: "mipi_dsi_attach" [drivers/gpu/drm/bridge/lontium-lt9611.ko] 
undefined!
ERROR: modpost: "mipi_dsi_device_register_full" 
[drivers/gpu/drm/bridge/lontium-lt9611.ko] undefined!
ERROR: modpost: "of_find_mipi_dsi_host_by_node" 
[drivers/gpu/drm/bridge/lontium-lt9611.ko] undefined!
ERROR: modpost: "mipi_dsi_device_unregister" 
[drivers/gpu/drm/bridge/lontium-lt9611.ko] undefined!
ERROR: modpost: "mipi_dsi_detach" [drivers/gpu/drm/bridge/lontium-lt9611.ko] 
undefined!
WARNING: modpost: suppressed 5 unresolved symbol warnings because there were 
too many)

Fixes: 23278bf54afe ("drm/bridge: Introduce LT9611 DSI to HDMI bridge")
Fixes: 0cbbd5b1a012 ("drm: bridge: add support for lontium LT9611UXC bridge")
Fixes: 30e2ae943c26 ("drm/bridge: Introduce LT8912B DSI to HDMI bridge")
Reported-by: kernel test robot 
Signed-off-by: Randy Dunlap 
Reviewed-by: Adren Grassein 
Cc: Dmitry Baryshkov 
Cc: Sam Ravnborg 
Cc: Vinod Koul 
Cc: Bjorn Andersson 
Cc: Srinivas Kandagatla 
Cc: Adrien Grassein 
Cc: Andrzej Hajda 
Cc: Neil Armstrong 
Cc: Robert Foss 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org
Signed-off-by: Robert Foss 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210415183639.1487-1-rdun...@infradead.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/bridge/Kconfig |3 +++
 1 file changed, 3 insertions(+)

--- a/drivers/gpu/drm/bridge/Kconfig
+++ b/drivers/gpu/drm/bridge/Kconfig
@@ -67,6 +67,7 @@ config DRM_LONTIUM_LT9611UXC
depends on OF
select DRM_PANEL_BRIDGE
select DRM_KMS_HELPER
+   select DRM_MIPI_DSI
select REGMAP_I2C
help
  Driver for Lontium LT9611UXC DSI to HDMI bridge
@@ -151,6 +152,7 @@ config DRM_SII902X
tristate "Silicon Image sii902x RGB/HDMI bridge"
depends on OF
select DRM_KMS_HELPER
+   select DRM_MIPI_DSI
select REGMAP_I2C
select I2C_MUX
select SND_SOC_HDMI_CODEC if SND_SOC
@@ -200,6 +202,7 @@ config DRM_TOSHIBA_TC358767
tristate "Toshiba TC358767 eDP bridge"
depends on OF
select DRM_KMS_HELPER
+   select DRM_MIPI_DSI
select REGMAP_I2C
select DRM_PANEL
help


Patches currently in stable-queue which might be from rdun...@infradead.org are

queue-5.12/drm-bridge-fix-lontium-use-of-mipi_dsi_-functions.patch


Patch "drm: bridge: fix ANX7625 use of mipi_dsi_() functions" has been added to the 5.11-stable tree

2021-05-12 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm: bridge: fix ANX7625 use of mipi_dsi_() functions

to the 5.11-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-bridge-fix-anx7625-use-of-mipi_dsi_-functions.patch
and it can be found in the queue-5.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From ed01fca38717169fcb61bd45ad1c3750d9c40d59 Mon Sep 17 00:00:00 2001
From: Randy Dunlap 
Date: Thu, 15 Apr 2021 11:36:19 -0700
Subject: drm: bridge: fix ANX7625 use of mipi_dsi_() functions

From: Randy Dunlap 

commit ed01fca38717169fcb61bd45ad1c3750d9c40d59 upstream.

The Analogix DRM ANX7625 bridge driver uses mips_dsi_() function
interfaces so it should select DRM_MIPI_DSI to prevent build errors.

ERROR: modpost: "mipi_dsi_attach" [drivers/gpu/drm/bridge/analogix/anx7625.ko] 
undefined!
ERROR: modpost: "mipi_dsi_device_register_full" 
[drivers/gpu/drm/bridge/analogix/anx7625.ko] undefined!
ERROR: modpost: "of_find_mipi_dsi_host_by_node" 
[drivers/gpu/drm/bridge/analogix/anx7625.ko] undefined!
ERROR: modpost: "mipi_dsi_device_unregister" 
[drivers/gpu/drm/bridge/analogix/anx7625.ko] undefined!
ERROR: modpost: "mipi_dsi_detach" [drivers/gpu/drm/bridge/analogix/anx7625.ko] 
undefined!

Fixes: 8bdfc5dae4e3 ("drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP")
Reported-by: kernel test robot 
Signed-off-by: Randy Dunlap 
Reviewed-by: Robert Foss 
Cc: Xin Ji 
Cc: Sam Ravnborg 
Cc: dri-devel@lists.freedesktop.org
Cc: Andrzej Hajda 
Cc: Neil Armstrong 
Cc: Robert Foss 
Cc: sta...@vger.kernel.org
Signed-off-by: Robert Foss 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210415183619.1431-1-rdun...@infradead.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/bridge/analogix/Kconfig |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/gpu/drm/bridge/analogix/Kconfig
+++ b/drivers/gpu/drm/bridge/analogix/Kconfig
@@ -30,6 +30,7 @@ config DRM_ANALOGIX_ANX7625
tristate "Analogix Anx7625 MIPI to DP interface support"
depends on DRM
depends on OF
+   select DRM_MIPI_DSI
help
  ANX7625 is an ultra-low power 4K mobile HD transmitter
  designed for portable devices. It converts MIPI/DPI to


Patches currently in stable-queue which might be from rdun...@infradead.org are

queue-5.11/drm-bridge-fix-lontium-use-of-mipi_dsi_-functions.patch
queue-5.11/drm-bridge-fix-anx7625-use-of-mipi_dsi_-functions.patch


Patch "drm: bridge: fix ANX7625 use of mipi_dsi_() functions" has been added to the 5.12-stable tree

2021-05-12 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm: bridge: fix ANX7625 use of mipi_dsi_() functions

to the 5.12-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-bridge-fix-anx7625-use-of-mipi_dsi_-functions.patch
and it can be found in the queue-5.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From ed01fca38717169fcb61bd45ad1c3750d9c40d59 Mon Sep 17 00:00:00 2001
From: Randy Dunlap 
Date: Thu, 15 Apr 2021 11:36:19 -0700
Subject: drm: bridge: fix ANX7625 use of mipi_dsi_() functions

From: Randy Dunlap 

commit ed01fca38717169fcb61bd45ad1c3750d9c40d59 upstream.

The Analogix DRM ANX7625 bridge driver uses mips_dsi_() function
interfaces so it should select DRM_MIPI_DSI to prevent build errors.

ERROR: modpost: "mipi_dsi_attach" [drivers/gpu/drm/bridge/analogix/anx7625.ko] 
undefined!
ERROR: modpost: "mipi_dsi_device_register_full" 
[drivers/gpu/drm/bridge/analogix/anx7625.ko] undefined!
ERROR: modpost: "of_find_mipi_dsi_host_by_node" 
[drivers/gpu/drm/bridge/analogix/anx7625.ko] undefined!
ERROR: modpost: "mipi_dsi_device_unregister" 
[drivers/gpu/drm/bridge/analogix/anx7625.ko] undefined!
ERROR: modpost: "mipi_dsi_detach" [drivers/gpu/drm/bridge/analogix/anx7625.ko] 
undefined!

Fixes: 8bdfc5dae4e3 ("drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP")
Reported-by: kernel test robot 
Signed-off-by: Randy Dunlap 
Reviewed-by: Robert Foss 
Cc: Xin Ji 
Cc: Sam Ravnborg 
Cc: dri-devel@lists.freedesktop.org
Cc: Andrzej Hajda 
Cc: Neil Armstrong 
Cc: Robert Foss 
Cc: sta...@vger.kernel.org
Signed-off-by: Robert Foss 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210415183619.1431-1-rdun...@infradead.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/bridge/analogix/Kconfig |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/gpu/drm/bridge/analogix/Kconfig
+++ b/drivers/gpu/drm/bridge/analogix/Kconfig
@@ -30,6 +30,7 @@ config DRM_ANALOGIX_ANX7625
tristate "Analogix Anx7625 MIPI to DP interface support"
depends on DRM
depends on OF
+   select DRM_MIPI_DSI
help
  ANX7625 is an ultra-low power 4K mobile HD transmitter
  designed for portable devices. It converts MIPI/DPI to


Patches currently in stable-queue which might be from rdun...@infradead.org are

queue-5.12/drm-bridge-fix-lontium-use-of-mipi_dsi_-functions.patch
queue-5.12/drm-bridge-fix-anx7625-use-of-mipi_dsi_-functions.patch
queue-5.12/net-xilinx-drivers-need-depend-on-has_iomem.patch


Patch "drm/dp_mst: Do not set proposed vcpi directly" has been added to the 5.10-stable tree

2021-07-15 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp_mst: Do not set proposed vcpi directly

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-dp_mst-do-not-set-proposed-vcpi-directly.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 35d3e8cb35e75450f87f87e3d314e2d418b6954b Mon Sep 17 00:00:00 2001
From: Wayne Lin 
Date: Wed, 16 Jun 2021 11:55:00 +0800
Subject: drm/dp_mst: Do not set proposed vcpi directly

From: Wayne Lin 

commit 35d3e8cb35e75450f87f87e3d314e2d418b6954b upstream.

[Why]
When we receive CSN message to notify one port is disconnected, we will
implicitly set its corresponding num_slots to 0. Later on, we will
eventually call drm_dp_update_payload_part1() to arrange down streams.

In drm_dp_update_payload_part1(), we iterate over all proposed_vcpis[]
to do the update. Not specific to a target sink only. For example, if we
light up 2 monitors, Monitor_A and Monitor_B, and then we unplug
Monitor_B. Later on, when we call drm_dp_update_payload_part1() to try
to update payload for Monitor_A, we'll also implicitly clean payload for
Monitor_B at the same time. And finally, when we try to call
drm_dp_update_payload_part1() to clean payload for Monitor_B, we will do
nothing at this time since payload for Monitor_B has been cleaned up
previously.

For StarTech 1to3 DP hub, it seems like if we didn't update DPCD payload
ID table then polling for "ACT Handled"(BIT_1 of DPCD 002C0h) will fail
and this polling will last for 3 seconds.

Therefore, guess the best way is we don't set the proposed_vcpi[]
diretly. Let user of these herlper functions to set the proposed_vcpi
directly.

[How]
1. Revert commit 7617e9621bf2 ("drm/dp_mst: clear time slots for ports
invalid")
2. Tackle the issue in previous commit by skipping those trasient
proposed VCPIs. These stale VCPIs shoulde be explicitly cleared by
user later on.

Changes since v1:
* Change debug macro to use drm_dbg_kms() instead
* Amend the commit message to add Fixed & Cc tags

Signed-off-by: Wayne Lin 
Fixes: 7617e9621bf2 ("drm/dp_mst: clear time slots for ports invalid")
Cc: Lyude Paul 
Cc: Wayne Lin 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.5+
Signed-off-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210616035501.3776-2-wayne@amd.com
Reviewed-by: Lyude Paul 
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/drm_dp_mst_topology.c |   36 +-
 1 file changed, 10 insertions(+), 26 deletions(-)

--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -2499,7 +2499,7 @@ drm_dp_mst_handle_conn_stat(struct drm_d
 {
struct drm_dp_mst_topology_mgr *mgr = mstb->mgr;
struct drm_dp_mst_port *port;
-   int old_ddps, old_input, ret, i;
+   int old_ddps, ret;
u8 new_pdt;
bool new_mcs;
bool dowork = false, create_connector = false;
@@ -2531,7 +2531,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
}
 
old_ddps = port->ddps;
-   old_input = port->input;
port->input = conn_stat->input_port;
port->ldps = conn_stat->legacy_device_plug_status;
port->ddps = conn_stat->displayport_device_plug_status;
@@ -2554,28 +2553,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
dowork = false;
}
 
-   if (!old_input && old_ddps != port->ddps && !port->ddps) {
-   for (i = 0; i < mgr->max_payloads; i++) {
-   struct drm_dp_vcpi *vcpi = mgr->proposed_vcpis[i];
-   struct drm_dp_mst_port *port_validated;
-
-   if (!vcpi)
-   continue;
-
-   port_validated =
-   container_of(vcpi, struct drm_dp_mst_port, 
vcpi);
-   port_validated =
-   drm_dp_mst_topology_get_port_validated(mgr, 
port_validated);
-   if (!port_validated) {
-   mutex_lock(&mgr->payload_lock);
-   vcpi->num_slots = 0;
-   mutex_unlock(&mgr->payload_lock);
-   } else {
-   drm_dp_mst_topology_put_port(port_validated);
-   }
-   }
-   }
-
if (port->connector)
drm_modeset_unlock(&mgr->base.lock);
else if (create_connector)
@@ -3406,8 +3383,15 @@ int drm_dp_update_payload_part1(struct d
port = drm_dp_mst_topology_get_port_validated(
mgr, port);
if (!port) {
-  

Patch "drm/dp_mst: Do not set proposed vcpi directly" has been added to the 5.12-stable tree

2021-07-15 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp_mst: Do not set proposed vcpi directly

to the 5.12-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-dp_mst-do-not-set-proposed-vcpi-directly.patch
and it can be found in the queue-5.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 35d3e8cb35e75450f87f87e3d314e2d418b6954b Mon Sep 17 00:00:00 2001
From: Wayne Lin 
Date: Wed, 16 Jun 2021 11:55:00 +0800
Subject: drm/dp_mst: Do not set proposed vcpi directly

From: Wayne Lin 

commit 35d3e8cb35e75450f87f87e3d314e2d418b6954b upstream.

[Why]
When we receive CSN message to notify one port is disconnected, we will
implicitly set its corresponding num_slots to 0. Later on, we will
eventually call drm_dp_update_payload_part1() to arrange down streams.

In drm_dp_update_payload_part1(), we iterate over all proposed_vcpis[]
to do the update. Not specific to a target sink only. For example, if we
light up 2 monitors, Monitor_A and Monitor_B, and then we unplug
Monitor_B. Later on, when we call drm_dp_update_payload_part1() to try
to update payload for Monitor_A, we'll also implicitly clean payload for
Monitor_B at the same time. And finally, when we try to call
drm_dp_update_payload_part1() to clean payload for Monitor_B, we will do
nothing at this time since payload for Monitor_B has been cleaned up
previously.

For StarTech 1to3 DP hub, it seems like if we didn't update DPCD payload
ID table then polling for "ACT Handled"(BIT_1 of DPCD 002C0h) will fail
and this polling will last for 3 seconds.

Therefore, guess the best way is we don't set the proposed_vcpi[]
diretly. Let user of these herlper functions to set the proposed_vcpi
directly.

[How]
1. Revert commit 7617e9621bf2 ("drm/dp_mst: clear time slots for ports
invalid")
2. Tackle the issue in previous commit by skipping those trasient
proposed VCPIs. These stale VCPIs shoulde be explicitly cleared by
user later on.

Changes since v1:
* Change debug macro to use drm_dbg_kms() instead
* Amend the commit message to add Fixed & Cc tags

Signed-off-by: Wayne Lin 
Fixes: 7617e9621bf2 ("drm/dp_mst: clear time slots for ports invalid")
Cc: Lyude Paul 
Cc: Wayne Lin 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.5+
Signed-off-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210616035501.3776-2-wayne@amd.com
Reviewed-by: Lyude Paul 
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/drm_dp_mst_topology.c |   36 +-
 1 file changed, 10 insertions(+), 26 deletions(-)

--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -2499,7 +2499,7 @@ drm_dp_mst_handle_conn_stat(struct drm_d
 {
struct drm_dp_mst_topology_mgr *mgr = mstb->mgr;
struct drm_dp_mst_port *port;
-   int old_ddps, old_input, ret, i;
+   int old_ddps, ret;
u8 new_pdt;
bool new_mcs;
bool dowork = false, create_connector = false;
@@ -2531,7 +2531,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
}
 
old_ddps = port->ddps;
-   old_input = port->input;
port->input = conn_stat->input_port;
port->ldps = conn_stat->legacy_device_plug_status;
port->ddps = conn_stat->displayport_device_plug_status;
@@ -2554,28 +2553,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
dowork = false;
}
 
-   if (!old_input && old_ddps != port->ddps && !port->ddps) {
-   for (i = 0; i < mgr->max_payloads; i++) {
-   struct drm_dp_vcpi *vcpi = mgr->proposed_vcpis[i];
-   struct drm_dp_mst_port *port_validated;
-
-   if (!vcpi)
-   continue;
-
-   port_validated =
-   container_of(vcpi, struct drm_dp_mst_port, 
vcpi);
-   port_validated =
-   drm_dp_mst_topology_get_port_validated(mgr, 
port_validated);
-   if (!port_validated) {
-   mutex_lock(&mgr->payload_lock);
-   vcpi->num_slots = 0;
-   mutex_unlock(&mgr->payload_lock);
-   } else {
-   drm_dp_mst_topology_put_port(port_validated);
-   }
-   }
-   }
-
if (port->connector)
drm_modeset_unlock(&mgr->base.lock);
else if (create_connector)
@@ -3406,8 +3383,15 @@ int drm_dp_update_payload_part1(struct d
port = drm_dp_mst_topology_get_port_validated(
mgr, port);
if (!port) {
-  

Patch "drm/dp_mst: Do not set proposed vcpi directly" has been added to the 5.13-stable tree

2021-07-15 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp_mst: Do not set proposed vcpi directly

to the 5.13-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-dp_mst-do-not-set-proposed-vcpi-directly.patch
and it can be found in the queue-5.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 35d3e8cb35e75450f87f87e3d314e2d418b6954b Mon Sep 17 00:00:00 2001
From: Wayne Lin 
Date: Wed, 16 Jun 2021 11:55:00 +0800
Subject: drm/dp_mst: Do not set proposed vcpi directly

From: Wayne Lin 

commit 35d3e8cb35e75450f87f87e3d314e2d418b6954b upstream.

[Why]
When we receive CSN message to notify one port is disconnected, we will
implicitly set its corresponding num_slots to 0. Later on, we will
eventually call drm_dp_update_payload_part1() to arrange down streams.

In drm_dp_update_payload_part1(), we iterate over all proposed_vcpis[]
to do the update. Not specific to a target sink only. For example, if we
light up 2 monitors, Monitor_A and Monitor_B, and then we unplug
Monitor_B. Later on, when we call drm_dp_update_payload_part1() to try
to update payload for Monitor_A, we'll also implicitly clean payload for
Monitor_B at the same time. And finally, when we try to call
drm_dp_update_payload_part1() to clean payload for Monitor_B, we will do
nothing at this time since payload for Monitor_B has been cleaned up
previously.

For StarTech 1to3 DP hub, it seems like if we didn't update DPCD payload
ID table then polling for "ACT Handled"(BIT_1 of DPCD 002C0h) will fail
and this polling will last for 3 seconds.

Therefore, guess the best way is we don't set the proposed_vcpi[]
diretly. Let user of these herlper functions to set the proposed_vcpi
directly.

[How]
1. Revert commit 7617e9621bf2 ("drm/dp_mst: clear time slots for ports
invalid")
2. Tackle the issue in previous commit by skipping those trasient
proposed VCPIs. These stale VCPIs shoulde be explicitly cleared by
user later on.

Changes since v1:
* Change debug macro to use drm_dbg_kms() instead
* Amend the commit message to add Fixed & Cc tags

Signed-off-by: Wayne Lin 
Fixes: 7617e9621bf2 ("drm/dp_mst: clear time slots for ports invalid")
Cc: Lyude Paul 
Cc: Wayne Lin 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.5+
Signed-off-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210616035501.3776-2-wayne@amd.com
Reviewed-by: Lyude Paul 
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/drm_dp_mst_topology.c |   36 +-
 1 file changed, 10 insertions(+), 26 deletions(-)

--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -2497,7 +2497,7 @@ drm_dp_mst_handle_conn_stat(struct drm_d
 {
struct drm_dp_mst_topology_mgr *mgr = mstb->mgr;
struct drm_dp_mst_port *port;
-   int old_ddps, old_input, ret, i;
+   int old_ddps, ret;
u8 new_pdt;
bool new_mcs;
bool dowork = false, create_connector = false;
@@ -2529,7 +2529,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
}
 
old_ddps = port->ddps;
-   old_input = port->input;
port->input = conn_stat->input_port;
port->ldps = conn_stat->legacy_device_plug_status;
port->ddps = conn_stat->displayport_device_plug_status;
@@ -2552,28 +2551,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
dowork = false;
}
 
-   if (!old_input && old_ddps != port->ddps && !port->ddps) {
-   for (i = 0; i < mgr->max_payloads; i++) {
-   struct drm_dp_vcpi *vcpi = mgr->proposed_vcpis[i];
-   struct drm_dp_mst_port *port_validated;
-
-   if (!vcpi)
-   continue;
-
-   port_validated =
-   container_of(vcpi, struct drm_dp_mst_port, 
vcpi);
-   port_validated =
-   drm_dp_mst_topology_get_port_validated(mgr, 
port_validated);
-   if (!port_validated) {
-   mutex_lock(&mgr->payload_lock);
-   vcpi->num_slots = 0;
-   mutex_unlock(&mgr->payload_lock);
-   } else {
-   drm_dp_mst_topology_put_port(port_validated);
-   }
-   }
-   }
-
if (port->connector)
drm_modeset_unlock(&mgr->base.lock);
else if (create_connector)
@@ -3404,8 +3381,15 @@ int drm_dp_update_payload_part1(struct d
port = drm_dp_mst_topology_get_port_validated(
mgr, port);
if (!port) {
-  

Patch "drm/ast: Remove reference to struct drm_device.pdev" has been added to the 5.10-stable tree

2021-07-15 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/ast: Remove reference to struct drm_device.pdev

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-ast-remove-reference-to-struct-drm_device.pdev.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 0ecb51824e838372e01330752503ddf9c0430ef7 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 29 Apr 2021 12:50:57 +0200
Subject: drm/ast: Remove reference to struct drm_device.pdev

From: Thomas Zimmermann 

commit 0ecb51824e838372e01330752503ddf9c0430ef7 upstream.

Using struct drm_device.pdev is deprecated. Upcast with to_pci_dev()
from struct drm_device.dev to get the PCI device structure.

v9:
* fix remaining pdev references

Signed-off-by: Thomas Zimmermann 
Reviewed-by: Michael J. Ruhl 
Fixes: ba4e0339a6a3 ("drm/ast: Fixed CVE for DP501")
Cc: KuoHsiang Chou 
Cc: kernel test robot 
Cc: Thomas Zimmermann 
Cc: Dave Airlie 
Cc: dri-devel@lists.freedesktop.org
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210429105101.25667-2-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/ast/ast_main.c |5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -406,7 +406,6 @@ struct ast_private *ast_device_create(st
return ast;
dev = &ast->base;
 
-   dev->pdev = pdev;
pci_set_drvdata(pdev, dev);
 
ast->regs = pcim_iomap(pdev, 1, 0);
@@ -448,8 +447,8 @@ struct ast_private *ast_device_create(st
 
/* map reserved buffer */
ast->dp501_fw_buf = NULL;
-   if (dev->vram_mm->vram_size < pci_resource_len(dev->pdev, 0)) {
-   ast->dp501_fw_buf = pci_iomap_range(dev->pdev, 0, 
dev->vram_mm->vram_size, 0);
+   if (dev->vram_mm->vram_size < pci_resource_len(pdev, 0)) {
+   ast->dp501_fw_buf = pci_iomap_range(pdev, 0, 
dev->vram_mm->vram_size, 0);
if (!ast->dp501_fw_buf)
drm_info(dev, "failed to map reserved buffer!\n");
}


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.10/drm-mxsfb-don-t-select-drm_kms_fb_helper.patch
queue-5.10/drm-ast-remove-reference-to-struct-drm_device.pdev.patch
queue-5.10/drm-vc4-crtc-skip-the-txp.patch
queue-5.10/drm-zte-don-t-select-drm_kms_fb_helper.patch
queue-5.10/drm-ast-fixed-cve-for-dp501.patch
queue-5.10/drm-vc4-txp-properly-set-the-possible_crtcs-mask.patch


Patch "drm/ast: Remove reference to struct drm_device.pdev" has been added to the 5.12-stable tree

2021-07-15 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/ast: Remove reference to struct drm_device.pdev

to the 5.12-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-ast-remove-reference-to-struct-drm_device.pdev.patch
and it can be found in the queue-5.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 0ecb51824e838372e01330752503ddf9c0430ef7 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 29 Apr 2021 12:50:57 +0200
Subject: drm/ast: Remove reference to struct drm_device.pdev

From: Thomas Zimmermann 

commit 0ecb51824e838372e01330752503ddf9c0430ef7 upstream.

Using struct drm_device.pdev is deprecated. Upcast with to_pci_dev()
from struct drm_device.dev to get the PCI device structure.

v9:
* fix remaining pdev references

Signed-off-by: Thomas Zimmermann 
Reviewed-by: Michael J. Ruhl 
Fixes: ba4e0339a6a3 ("drm/ast: Fixed CVE for DP501")
Cc: KuoHsiang Chou 
Cc: kernel test robot 
Cc: Thomas Zimmermann 
Cc: Dave Airlie 
Cc: dri-devel@lists.freedesktop.org
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210429105101.25667-2-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/ast/ast_main.c |5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -411,7 +411,6 @@ struct ast_private *ast_device_create(co
return ast;
dev = &ast->base;
 
-   dev->pdev = pdev;
pci_set_drvdata(pdev, dev);
 
ast->regs = pcim_iomap(pdev, 1, 0);
@@ -453,8 +452,8 @@ struct ast_private *ast_device_create(co
 
/* map reserved buffer */
ast->dp501_fw_buf = NULL;
-   if (dev->vram_mm->vram_size < pci_resource_len(dev->pdev, 0)) {
-   ast->dp501_fw_buf = pci_iomap_range(dev->pdev, 0, 
dev->vram_mm->vram_size, 0);
+   if (dev->vram_mm->vram_size < pci_resource_len(pdev, 0)) {
+   ast->dp501_fw_buf = pci_iomap_range(pdev, 0, 
dev->vram_mm->vram_size, 0);
if (!ast->dp501_fw_buf)
drm_info(dev, "failed to map reserved buffer!\n");
}


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.12/drm-ingenic-fix-pixclock-rate-for-24-bit-serial-panels.patch
queue-5.12/drm-mxsfb-don-t-select-drm_kms_fb_helper.patch
queue-5.12/drm-ast-remove-reference-to-struct-drm_device.pdev.patch
queue-5.12/drm-vc4-crtc-skip-the-txp.patch
queue-5.12/drm-zte-don-t-select-drm_kms_fb_helper.patch
queue-5.12/drm-ast-fixed-cve-for-dp501.patch
queue-5.12/drm-vc4-txp-properly-set-the-possible_crtcs-mask.patch


Patch "drm/ast: Remove reference to struct drm_device.pdev" has been added to the 5.13-stable tree

2021-07-15 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/ast: Remove reference to struct drm_device.pdev

to the 5.13-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-ast-remove-reference-to-struct-drm_device.pdev.patch
and it can be found in the queue-5.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 0ecb51824e838372e01330752503ddf9c0430ef7 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 29 Apr 2021 12:50:57 +0200
Subject: drm/ast: Remove reference to struct drm_device.pdev

From: Thomas Zimmermann 

commit 0ecb51824e838372e01330752503ddf9c0430ef7 upstream.

Using struct drm_device.pdev is deprecated. Upcast with to_pci_dev()
from struct drm_device.dev to get the PCI device structure.

v9:
* fix remaining pdev references

Signed-off-by: Thomas Zimmermann 
Reviewed-by: Michael J. Ruhl 
Fixes: ba4e0339a6a3 ("drm/ast: Fixed CVE for DP501")
Cc: KuoHsiang Chou 
Cc: kernel test robot 
Cc: Thomas Zimmermann 
Cc: Dave Airlie 
Cc: dri-devel@lists.freedesktop.org
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210429105101.25667-2-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/ast/ast_main.c |5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -411,7 +411,6 @@ struct ast_private *ast_device_create(co
return ast;
dev = &ast->base;
 
-   dev->pdev = pdev;
pci_set_drvdata(pdev, dev);
 
ast->regs = pcim_iomap(pdev, 1, 0);
@@ -453,8 +452,8 @@ struct ast_private *ast_device_create(co
 
/* map reserved buffer */
ast->dp501_fw_buf = NULL;
-   if (dev->vram_mm->vram_size < pci_resource_len(dev->pdev, 0)) {
-   ast->dp501_fw_buf = pci_iomap_range(dev->pdev, 0, 
dev->vram_mm->vram_size, 0);
+   if (dev->vram_mm->vram_size < pci_resource_len(pdev, 0)) {
+   ast->dp501_fw_buf = pci_iomap_range(pdev, 0, 
dev->vram_mm->vram_size, 0);
if (!ast->dp501_fw_buf)
drm_info(dev, "failed to map reserved buffer!\n");
}


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.13/drm-ingenic-fix-pixclock-rate-for-24-bit-serial-panels.patch
queue-5.13/drm-mxsfb-don-t-select-drm_kms_fb_helper.patch
queue-5.13/drm-ast-remove-reference-to-struct-drm_device.pdev.patch
queue-5.13/drm-vc4-crtc-skip-the-txp.patch
queue-5.13/drm-zte-don-t-select-drm_kms_fb_helper.patch
queue-5.13/drm-ast-fixed-cve-for-dp501.patch
queue-5.13/drm-vc4-txp-properly-set-the-possible_crtcs-mask.patch


Patch "drm/dp_mst: Add missing drm parameters to recently added call to drm_dbg_kms()" has been added to the 5.10-stable tree

2021-07-19 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp_mst: Add missing drm parameters to recently added call to 
drm_dbg_kms()

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 
drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 24ff3dc18b99c4b912ab1746e803ddb3be5ced4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= 
Date: Wed, 16 Jun 2021 12:44:15 -0700
Subject: drm/dp_mst: Add missing drm parameters to recently added call to 
drm_dbg_kms()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: José Roberto de Souza 

commit 24ff3dc18b99c4b912ab1746e803ddb3be5ced4c upstream.

Commit 3769e4c0af5b ("drm/dp_mst: Avoid to mess up payload table by
ports in stale topology") added to calls to drm_dbg_kms() but it
missed the first parameter, the drm device breaking the build.

Fixes: 3769e4c0af5b ("drm/dp_mst: Avoid to mess up payload table by ports in 
stale topology")
Cc: Wayne Lin 
Cc: Lyude Paul 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org
Signed-off-by: José Roberto de Souza 
Reviewed-by: Lyude Paul 
Signed-off-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210616194415.36926-1-jose.so...@intel.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_dp_mst_topology.c |7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -3385,7 +3385,9 @@ int drm_dp_update_payload_part1(struct d
mutex_unlock(&mgr->lock);
 
if (skip) {
-   drm_dbg_kms("Virtual channel %d is not in 
current topology\n", i);
+   drm_dbg_kms(mgr->dev,
+   "Virtual channel %d is not in 
current topology\n",
+   i);
continue;
}
/* Validated ports don't matter if we're releasing
@@ -3400,7 +3402,8 @@ int drm_dp_update_payload_part1(struct d
payload->start_slot = 
req_payload.start_slot;
continue;
} else {
-   drm_dbg_kms("Fail:set payload 
to invalid sink");
+   drm_dbg_kms(mgr->dev,
+   "Fail:set payload 
to invalid sink");

mutex_unlock(&mgr->payload_lock);
return -EINVAL;
}


Patches currently in stable-queue which might be from jose.so...@intel.com are

queue-5.10/drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch


Patch "drm/dp_mst: Do not set proposed vcpi directly" has been added to the 5.10-stable tree

2021-07-19 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp_mst: Do not set proposed vcpi directly

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-dp_mst-do-not-set-proposed-vcpi-directly.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 35d3e8cb35e75450f87f87e3d314e2d418b6954b Mon Sep 17 00:00:00 2001
From: Wayne Lin 
Date: Wed, 16 Jun 2021 11:55:00 +0800
Subject: drm/dp_mst: Do not set proposed vcpi directly

From: Wayne Lin 

commit 35d3e8cb35e75450f87f87e3d314e2d418b6954b upstream.

[Why]
When we receive CSN message to notify one port is disconnected, we will
implicitly set its corresponding num_slots to 0. Later on, we will
eventually call drm_dp_update_payload_part1() to arrange down streams.

In drm_dp_update_payload_part1(), we iterate over all proposed_vcpis[]
to do the update. Not specific to a target sink only. For example, if we
light up 2 monitors, Monitor_A and Monitor_B, and then we unplug
Monitor_B. Later on, when we call drm_dp_update_payload_part1() to try
to update payload for Monitor_A, we'll also implicitly clean payload for
Monitor_B at the same time. And finally, when we try to call
drm_dp_update_payload_part1() to clean payload for Monitor_B, we will do
nothing at this time since payload for Monitor_B has been cleaned up
previously.

For StarTech 1to3 DP hub, it seems like if we didn't update DPCD payload
ID table then polling for "ACT Handled"(BIT_1 of DPCD 002C0h) will fail
and this polling will last for 3 seconds.

Therefore, guess the best way is we don't set the proposed_vcpi[]
diretly. Let user of these herlper functions to set the proposed_vcpi
directly.

[How]
1. Revert commit 7617e9621bf2 ("drm/dp_mst: clear time slots for ports
invalid")
2. Tackle the issue in previous commit by skipping those trasient
proposed VCPIs. These stale VCPIs shoulde be explicitly cleared by
user later on.

Changes since v1:
* Change debug macro to use drm_dbg_kms() instead
* Amend the commit message to add Fixed & Cc tags

Signed-off-by: Wayne Lin 
Fixes: 7617e9621bf2 ("drm/dp_mst: clear time slots for ports invalid")
Cc: Lyude Paul 
Cc: Wayne Lin 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.5+
Signed-off-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210616035501.3776-2-wayne@amd.com
Reviewed-by: Lyude Paul 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_dp_mst_topology.c |   36 +-
 1 file changed, 10 insertions(+), 26 deletions(-)

--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -2499,7 +2499,7 @@ drm_dp_mst_handle_conn_stat(struct drm_d
 {
struct drm_dp_mst_topology_mgr *mgr = mstb->mgr;
struct drm_dp_mst_port *port;
-   int old_ddps, old_input, ret, i;
+   int old_ddps, ret;
u8 new_pdt;
bool new_mcs;
bool dowork = false, create_connector = false;
@@ -2531,7 +2531,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
}
 
old_ddps = port->ddps;
-   old_input = port->input;
port->input = conn_stat->input_port;
port->ldps = conn_stat->legacy_device_plug_status;
port->ddps = conn_stat->displayport_device_plug_status;
@@ -2554,28 +2553,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
dowork = false;
}
 
-   if (!old_input && old_ddps != port->ddps && !port->ddps) {
-   for (i = 0; i < mgr->max_payloads; i++) {
-   struct drm_dp_vcpi *vcpi = mgr->proposed_vcpis[i];
-   struct drm_dp_mst_port *port_validated;
-
-   if (!vcpi)
-   continue;
-
-   port_validated =
-   container_of(vcpi, struct drm_dp_mst_port, 
vcpi);
-   port_validated =
-   drm_dp_mst_topology_get_port_validated(mgr, 
port_validated);
-   if (!port_validated) {
-   mutex_lock(&mgr->payload_lock);
-   vcpi->num_slots = 0;
-   mutex_unlock(&mgr->payload_lock);
-   } else {
-   drm_dp_mst_topology_put_port(port_validated);
-   }
-   }
-   }
-
if (port->connector)
drm_modeset_unlock(&mgr->base.lock);
else if (create_connector)
@@ -3406,8 +3383,15 @@ int drm_dp_update_payload_part1(struct d
port = drm_dp_mst_topology_get_port_validated(
mgr, port);
if (!port) {
-   

Patch "Revert "drm/ast: Remove reference to struct drm_device.pdev"" has been added to the 5.10-stable tree

2021-07-19 Thread gregkh


This is a note to let you know that I've just added the patch titled

Revert "drm/ast: Remove reference to struct drm_device.pdev"

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 revert-drm-ast-remove-reference-to-struct-drm_device.pdev.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From cb1b21b946f3fc0ac01547c1a4f04927ad0090bd Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman 
Date: Mon, 19 Jul 2021 15:01:49 +0200
Subject: Revert "drm/ast: Remove reference to struct drm_device.pdev"

From: Greg Kroah-Hartman 

This reverts commit fcb041ca5c7787b096aafc899e45f93583e66cbd which is
commit 0ecb51824e838372e01330752503ddf9c0430ef7 upstream.

Turns out this was incomplete, as it is missing a dependancy, so drop it
from the tree.

Link: 
https://lore.kernel.org/r/CAJn8CcHHKSo7GF29Z1ufXJJpMUzn6+fdvwiqe9=jvgpcfvn...@mail.gmail.com
Reported-by: Xiaotian Feng 
Cc: Thomas Zimmermann 
Cc: Michael J. Ruhl 
Cc: KuoHsiang Chou 
Cc: kernel test robot 
Cc: Thomas Zimmermann 
Cc: Dave Airlie 
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/ast/ast_main.c |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -406,6 +406,7 @@ struct ast_private *ast_device_create(st
return ast;
dev = &ast->base;
 
+   dev->pdev = pdev;
pci_set_drvdata(pdev, dev);
 
ast->regs = pcim_iomap(pdev, 1, 0);
@@ -447,8 +448,8 @@ struct ast_private *ast_device_create(st
 
/* map reserved buffer */
ast->dp501_fw_buf = NULL;
-   if (dev->vram_mm->vram_size < pci_resource_len(pdev, 0)) {
-   ast->dp501_fw_buf = pci_iomap_range(pdev, 0, 
dev->vram_mm->vram_size, 0);
+   if (dev->vram_mm->vram_size < pci_resource_len(dev->pdev, 0)) {
+   ast->dp501_fw_buf = pci_iomap_range(dev->pdev, 0, 
dev->vram_mm->vram_size, 0);
if (!ast->dp501_fw_buf)
drm_info(dev, "failed to map reserved buffer!\n");
}


Patches currently in stable-queue which might be from 
gre...@linuxfoundation.org are

queue-5.10/tracing-do-not-reference-char-as-a-string-in-histograms.patch
queue-5.10/scsi-zfcp-report-port-fc_security-as-unknown-early-during-remote-cable-pull.patch
queue-5.10/cifs-handle-reconnect-of-tcon-when-there-is-no-cached-dfs-referral.patch
queue-5.10/kvm-mmio-fix-use-after-free-read-in-kvm_vm_ioctl_unregister_coalesced_mmio.patch
queue-5.10/drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch
queue-5.10/fbmem-do-not-delete-the-mode-that-is-still-in-use.patch
queue-5.10/drm-i915-gtt-drop-the-page-table-optimisation.patch
queue-5.10/drm-dp_mst-avoid-to-mess-up-payload-table-by-ports-in-stale-topology.patch
queue-5.10/kvm-x86-mmu-do-not-apply-hpa-memory-encryption-mask-to-gpas.patch
queue-5.10/revert-drm-ast-remove-reference-to-struct-drm_device.pdev.patch
queue-5.10/kvm-x86-disable-hardware-breakpoints-unconditionally-before-kvm_x86-run.patch
queue-5.10/drm-dp_mst-do-not-set-proposed-vcpi-directly.patch
queue-5.10/kvm-nsvm-check-the-value-written-to-msr_vm_hsave_pa.patch
queue-5.10/kvm-x86-use-guest-maxphyaddr-from-cpuid.0x8000_0008-iff-tdp-is-enabled.patch
queue-5.10/cgroup-verify-that-source-is-a-string.patch
queue-5.10/drm-i915-gt-fix-edeadlk-handling-regression.patch
queue-5.10/drm-ingenic-fix-non-osd-mode.patch
queue-5.10/drm-ingenic-switch-ipu-plane-to-type-overlay.patch
queue-5.10/scsi-core-fix-bad-pointer-dereference-when-ehandler-kthread-is-invalid.patch


Patch "drm/dp_mst: Do not set proposed vcpi directly" has been added to the 5.12-stable tree

2021-07-19 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp_mst: Do not set proposed vcpi directly

to the 5.12-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-dp_mst-do-not-set-proposed-vcpi-directly.patch
and it can be found in the queue-5.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 35d3e8cb35e75450f87f87e3d314e2d418b6954b Mon Sep 17 00:00:00 2001
From: Wayne Lin 
Date: Wed, 16 Jun 2021 11:55:00 +0800
Subject: drm/dp_mst: Do not set proposed vcpi directly

From: Wayne Lin 

commit 35d3e8cb35e75450f87f87e3d314e2d418b6954b upstream.

[Why]
When we receive CSN message to notify one port is disconnected, we will
implicitly set its corresponding num_slots to 0. Later on, we will
eventually call drm_dp_update_payload_part1() to arrange down streams.

In drm_dp_update_payload_part1(), we iterate over all proposed_vcpis[]
to do the update. Not specific to a target sink only. For example, if we
light up 2 monitors, Monitor_A and Monitor_B, and then we unplug
Monitor_B. Later on, when we call drm_dp_update_payload_part1() to try
to update payload for Monitor_A, we'll also implicitly clean payload for
Monitor_B at the same time. And finally, when we try to call
drm_dp_update_payload_part1() to clean payload for Monitor_B, we will do
nothing at this time since payload for Monitor_B has been cleaned up
previously.

For StarTech 1to3 DP hub, it seems like if we didn't update DPCD payload
ID table then polling for "ACT Handled"(BIT_1 of DPCD 002C0h) will fail
and this polling will last for 3 seconds.

Therefore, guess the best way is we don't set the proposed_vcpi[]
diretly. Let user of these herlper functions to set the proposed_vcpi
directly.

[How]
1. Revert commit 7617e9621bf2 ("drm/dp_mst: clear time slots for ports
invalid")
2. Tackle the issue in previous commit by skipping those trasient
proposed VCPIs. These stale VCPIs shoulde be explicitly cleared by
user later on.

Changes since v1:
* Change debug macro to use drm_dbg_kms() instead
* Amend the commit message to add Fixed & Cc tags

Signed-off-by: Wayne Lin 
Fixes: 7617e9621bf2 ("drm/dp_mst: clear time slots for ports invalid")
Cc: Lyude Paul 
Cc: Wayne Lin 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.5+
Signed-off-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210616035501.3776-2-wayne@amd.com
Reviewed-by: Lyude Paul 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_dp_mst_topology.c |   36 +-
 1 file changed, 10 insertions(+), 26 deletions(-)

--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -2499,7 +2499,7 @@ drm_dp_mst_handle_conn_stat(struct drm_d
 {
struct drm_dp_mst_topology_mgr *mgr = mstb->mgr;
struct drm_dp_mst_port *port;
-   int old_ddps, old_input, ret, i;
+   int old_ddps, ret;
u8 new_pdt;
bool new_mcs;
bool dowork = false, create_connector = false;
@@ -2531,7 +2531,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
}
 
old_ddps = port->ddps;
-   old_input = port->input;
port->input = conn_stat->input_port;
port->ldps = conn_stat->legacy_device_plug_status;
port->ddps = conn_stat->displayport_device_plug_status;
@@ -2554,28 +2553,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
dowork = false;
}
 
-   if (!old_input && old_ddps != port->ddps && !port->ddps) {
-   for (i = 0; i < mgr->max_payloads; i++) {
-   struct drm_dp_vcpi *vcpi = mgr->proposed_vcpis[i];
-   struct drm_dp_mst_port *port_validated;
-
-   if (!vcpi)
-   continue;
-
-   port_validated =
-   container_of(vcpi, struct drm_dp_mst_port, 
vcpi);
-   port_validated =
-   drm_dp_mst_topology_get_port_validated(mgr, 
port_validated);
-   if (!port_validated) {
-   mutex_lock(&mgr->payload_lock);
-   vcpi->num_slots = 0;
-   mutex_unlock(&mgr->payload_lock);
-   } else {
-   drm_dp_mst_topology_put_port(port_validated);
-   }
-   }
-   }
-
if (port->connector)
drm_modeset_unlock(&mgr->base.lock);
else if (create_connector)
@@ -3406,8 +3383,15 @@ int drm_dp_update_payload_part1(struct d
port = drm_dp_mst_topology_get_port_validated(
mgr, port);
if (!port) {
-   

Patch "drm/dp_mst: Add missing drm parameters to recently added call to drm_dbg_kms()" has been added to the 5.12-stable tree

2021-07-19 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp_mst: Add missing drm parameters to recently added call to 
drm_dbg_kms()

to the 5.12-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 
drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch
and it can be found in the queue-5.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 24ff3dc18b99c4b912ab1746e803ddb3be5ced4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= 
Date: Wed, 16 Jun 2021 12:44:15 -0700
Subject: drm/dp_mst: Add missing drm parameters to recently added call to 
drm_dbg_kms()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: José Roberto de Souza 

commit 24ff3dc18b99c4b912ab1746e803ddb3be5ced4c upstream.

Commit 3769e4c0af5b ("drm/dp_mst: Avoid to mess up payload table by
ports in stale topology") added to calls to drm_dbg_kms() but it
missed the first parameter, the drm device breaking the build.

Fixes: 3769e4c0af5b ("drm/dp_mst: Avoid to mess up payload table by ports in 
stale topology")
Cc: Wayne Lin 
Cc: Lyude Paul 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org
Signed-off-by: José Roberto de Souza 
Reviewed-by: Lyude Paul 
Signed-off-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210616194415.36926-1-jose.so...@intel.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_dp_mst_topology.c |7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -3385,7 +3385,9 @@ int drm_dp_update_payload_part1(struct d
mutex_unlock(&mgr->lock);
 
if (skip) {
-   drm_dbg_kms("Virtual channel %d is not in 
current topology\n", i);
+   drm_dbg_kms(mgr->dev,
+   "Virtual channel %d is not in 
current topology\n",
+   i);
continue;
}
/* Validated ports don't matter if we're releasing
@@ -3400,7 +3402,8 @@ int drm_dp_update_payload_part1(struct d
payload->start_slot = 
req_payload.start_slot;
continue;
} else {
-   drm_dbg_kms("Fail:set payload 
to invalid sink");
+   drm_dbg_kms(mgr->dev,
+   "Fail:set payload 
to invalid sink");

mutex_unlock(&mgr->payload_lock);
return -EINVAL;
}


Patches currently in stable-queue which might be from jose.so...@intel.com are

queue-5.12/drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch


Patch "drm/dp_mst: Do not set proposed vcpi directly" has been added to the 5.13-stable tree

2021-07-19 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp_mst: Do not set proposed vcpi directly

to the 5.13-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-dp_mst-do-not-set-proposed-vcpi-directly.patch
and it can be found in the queue-5.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 35d3e8cb35e75450f87f87e3d314e2d418b6954b Mon Sep 17 00:00:00 2001
From: Wayne Lin 
Date: Wed, 16 Jun 2021 11:55:00 +0800
Subject: drm/dp_mst: Do not set proposed vcpi directly

From: Wayne Lin 

commit 35d3e8cb35e75450f87f87e3d314e2d418b6954b upstream.

[Why]
When we receive CSN message to notify one port is disconnected, we will
implicitly set its corresponding num_slots to 0. Later on, we will
eventually call drm_dp_update_payload_part1() to arrange down streams.

In drm_dp_update_payload_part1(), we iterate over all proposed_vcpis[]
to do the update. Not specific to a target sink only. For example, if we
light up 2 monitors, Monitor_A and Monitor_B, and then we unplug
Monitor_B. Later on, when we call drm_dp_update_payload_part1() to try
to update payload for Monitor_A, we'll also implicitly clean payload for
Monitor_B at the same time. And finally, when we try to call
drm_dp_update_payload_part1() to clean payload for Monitor_B, we will do
nothing at this time since payload for Monitor_B has been cleaned up
previously.

For StarTech 1to3 DP hub, it seems like if we didn't update DPCD payload
ID table then polling for "ACT Handled"(BIT_1 of DPCD 002C0h) will fail
and this polling will last for 3 seconds.

Therefore, guess the best way is we don't set the proposed_vcpi[]
diretly. Let user of these herlper functions to set the proposed_vcpi
directly.

[How]
1. Revert commit 7617e9621bf2 ("drm/dp_mst: clear time slots for ports
invalid")
2. Tackle the issue in previous commit by skipping those trasient
proposed VCPIs. These stale VCPIs shoulde be explicitly cleared by
user later on.

Changes since v1:
* Change debug macro to use drm_dbg_kms() instead
* Amend the commit message to add Fixed & Cc tags

Signed-off-by: Wayne Lin 
Fixes: 7617e9621bf2 ("drm/dp_mst: clear time slots for ports invalid")
Cc: Lyude Paul 
Cc: Wayne Lin 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.5+
Signed-off-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210616035501.3776-2-wayne@amd.com
Reviewed-by: Lyude Paul 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_dp_mst_topology.c |   36 +-
 1 file changed, 10 insertions(+), 26 deletions(-)

--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -2497,7 +2497,7 @@ drm_dp_mst_handle_conn_stat(struct drm_d
 {
struct drm_dp_mst_topology_mgr *mgr = mstb->mgr;
struct drm_dp_mst_port *port;
-   int old_ddps, old_input, ret, i;
+   int old_ddps, ret;
u8 new_pdt;
bool new_mcs;
bool dowork = false, create_connector = false;
@@ -2529,7 +2529,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
}
 
old_ddps = port->ddps;
-   old_input = port->input;
port->input = conn_stat->input_port;
port->ldps = conn_stat->legacy_device_plug_status;
port->ddps = conn_stat->displayport_device_plug_status;
@@ -2552,28 +2551,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d
dowork = false;
}
 
-   if (!old_input && old_ddps != port->ddps && !port->ddps) {
-   for (i = 0; i < mgr->max_payloads; i++) {
-   struct drm_dp_vcpi *vcpi = mgr->proposed_vcpis[i];
-   struct drm_dp_mst_port *port_validated;
-
-   if (!vcpi)
-   continue;
-
-   port_validated =
-   container_of(vcpi, struct drm_dp_mst_port, 
vcpi);
-   port_validated =
-   drm_dp_mst_topology_get_port_validated(mgr, 
port_validated);
-   if (!port_validated) {
-   mutex_lock(&mgr->payload_lock);
-   vcpi->num_slots = 0;
-   mutex_unlock(&mgr->payload_lock);
-   } else {
-   drm_dp_mst_topology_put_port(port_validated);
-   }
-   }
-   }
-
if (port->connector)
drm_modeset_unlock(&mgr->base.lock);
else if (create_connector)
@@ -3404,8 +3381,15 @@ int drm_dp_update_payload_part1(struct d
port = drm_dp_mst_topology_get_port_validated(
mgr, port);
if (!port) {
-   

Patch "drm/dp_mst: Add missing drm parameters to recently added call to drm_dbg_kms()" has been added to the 5.13-stable tree

2021-07-19 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp_mst: Add missing drm parameters to recently added call to 
drm_dbg_kms()

to the 5.13-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 
drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch
and it can be found in the queue-5.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 24ff3dc18b99c4b912ab1746e803ddb3be5ced4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= 
Date: Wed, 16 Jun 2021 12:44:15 -0700
Subject: drm/dp_mst: Add missing drm parameters to recently added call to 
drm_dbg_kms()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: José Roberto de Souza 

commit 24ff3dc18b99c4b912ab1746e803ddb3be5ced4c upstream.

Commit 3769e4c0af5b ("drm/dp_mst: Avoid to mess up payload table by
ports in stale topology") added to calls to drm_dbg_kms() but it
missed the first parameter, the drm device breaking the build.

Fixes: 3769e4c0af5b ("drm/dp_mst: Avoid to mess up payload table by ports in 
stale topology")
Cc: Wayne Lin 
Cc: Lyude Paul 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org
Signed-off-by: José Roberto de Souza 
Reviewed-by: Lyude Paul 
Signed-off-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210616194415.36926-1-jose.so...@intel.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_dp_mst_topology.c |7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -3383,7 +3383,9 @@ int drm_dp_update_payload_part1(struct d
mutex_unlock(&mgr->lock);
 
if (skip) {
-   drm_dbg_kms("Virtual channel %d is not in 
current topology\n", i);
+   drm_dbg_kms(mgr->dev,
+   "Virtual channel %d is not in 
current topology\n",
+   i);
continue;
}
/* Validated ports don't matter if we're releasing
@@ -3398,7 +3400,8 @@ int drm_dp_update_payload_part1(struct d
payload->start_slot = 
req_payload.start_slot;
continue;
} else {
-   drm_dbg_kms("Fail:set payload 
to invalid sink");
+   drm_dbg_kms(mgr->dev,
+   "Fail:set payload 
to invalid sink");

mutex_unlock(&mgr->payload_lock);
return -EINVAL;
}


Patches currently in stable-queue which might be from jose.so...@intel.com are

queue-5.13/drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch


Patch "drm/shme-helpers: Fix dma_buf_mmap forwarding bug" has been added to the 5.9-stable tree

2020-11-03 Thread gregkh

This is a note to let you know that I've just added the patch titled

drm/shme-helpers: Fix dma_buf_mmap forwarding bug

to the 5.9-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-shme-helpers-fix-dma_buf_mmap-forwarding-bug.patch
and it can be found in the queue-5.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From f49a51bfdc8ea717c97ccd4cc98b7e6daaa5553a Mon Sep 17 00:00:00 2001
From: Daniel Vetter 
Date: Tue, 27 Oct 2020 22:49:22 +0100
Subject: drm/shme-helpers: Fix dma_buf_mmap forwarding bug
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Daniel Vetter 

commit f49a51bfdc8ea717c97ccd4cc98b7e6daaa5553a upstream.

When we forward an mmap to the dma_buf exporter, they get to own
everything. Unfortunately drm_gem_mmap_obj() overwrote
vma->vm_private_data after the driver callback, wreaking the
exporter complete. This was noticed because vb2_common_vm_close blew
up on mali gpu with panfrost after commit 26d3ac3cb04d
("drm/shmem-helpers: Redirect mmap for imported dma-buf").

Unfortunately drm_gem_mmap_obj also acquires a surplus reference that
we need to drop in shmem helpers, which is a bit of a mislayer
situation. Maybe the entire dma_buf_mmap forwarding should be pulled
into core gem code.

Note that the only two other drivers which forward mmap in their own
code (etnaviv and exynos) get this somewhat right by overwriting the
gem mmap code. But they seem to still have the leak. This might be a
good excuse to move these drivers over to shmem helpers completely.

Reviewed-by: Boris Brezillon 
Acked-by: Christian König 
Cc: Christian König 
Cc: Sumit Semwal 
Cc: Lucas Stach 
Cc: Russell King 
Cc: Christian Gmeiner 
Cc: Inki Dae 
Cc: Joonyoung Shim 
Cc: Seung-Woo Kim 
Cc: Kyungmin Park 
Fixes: 26d3ac3cb04d ("drm/shmem-helpers: Redirect mmap for imported dma-buf")
Cc: Boris Brezillon 
Cc: Thomas Zimmermann 
Cc: Gerd Hoffmann 
Cc: Rob Herring 
Cc: dri-devel@lists.freedesktop.org
Cc: linux-me...@vger.kernel.org
Cc: linaro-mm-...@lists.linaro.org
Cc:  # v5.9+
Reported-and-tested-by: piotr.oniszc...@gmail.com
Cc: piotr.oniszc...@gmail.com
Signed-off-by: Daniel Vetter 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20201027214922.3566743-1-daniel.vet...@ffwll.ch
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/drm_gem.c  |4 ++--
 drivers/gpu/drm/drm_gem_shmem_helper.c |7 ++-
 2 files changed, 8 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -1085,6 +1085,8 @@ int drm_gem_mmap_obj(struct drm_gem_obje
 */
drm_gem_object_get(obj);
 
+   vma->vm_private_data = obj;
+
if (obj->funcs && obj->funcs->mmap) {
ret = obj->funcs->mmap(obj, vma);
if (ret) {
@@ -1107,8 +1109,6 @@ int drm_gem_mmap_obj(struct drm_gem_obje
vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot);
}
 
-   vma->vm_private_data = obj;
-
return 0;
 }
 EXPORT_SYMBOL(drm_gem_mmap_obj);
--- a/drivers/gpu/drm/drm_gem_shmem_helper.c
+++ b/drivers/gpu/drm/drm_gem_shmem_helper.c
@@ -594,8 +594,13 @@ int drm_gem_shmem_mmap(struct drm_gem_ob
/* Remove the fake offset */
vma->vm_pgoff -= drm_vma_node_start(&obj->vma_node);
 
-   if (obj->import_attach)
+   if (obj->import_attach) {
+   /* Drop the reference drm_gem_mmap_obj() acquired.*/
+   drm_gem_object_put(obj);
+   vma->vm_private_data = NULL;
+
return dma_buf_mmap(obj->dma_buf, vma, 0);
+   }
 
shmem = to_drm_gem_shmem_obj(obj);
 


Patches currently in stable-queue which might be from daniel.vet...@ffwll.ch are

queue-5.9/drm-ast-separate-drm-driver-from-pci-code.patch
queue-5.9/drm-shme-helpers-fix-dma_buf_mmap-forwarding-bug.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]" has been added to the 4.19-stable tree

2020-11-16 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

to the 4.19-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-gma500-fix-out-of-bounds-access-to-struct-drm_device.vblank.patch
and it can be found in the queue-4.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 06ad8d339524bf94b89859047822c31df6ace239 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 5 Nov 2020 20:02:56 +0100
Subject: drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

From: Thomas Zimmermann 

commit 06ad8d339524bf94b89859047822c31df6ace239 upstream.

The gma500 driver expects 3 pipelines in several it's IRQ functions.
Accessing struct drm_device.vblank[], this fails with devices that only
have 2 pipelines. An example KASAN report is shown below.

  [   62.267688] 
==
  [   62.268856] BUG: KASAN: slab-out-of-bounds in 
psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.269450] Read of size 1 at addr 8880012bc6d0 by task 
systemd-udevd/285
  [   62.269949]
  [   62.270192] CPU: 0 PID: 285 Comm: systemd-udevd Tainted: GE
 5.10.0-rc1-1-default+ #572
  [   62.270807] Hardware name:  /DN2800MT, BIOS 
MTCDT10N.86A.0164.2012.1213.1024 12/13/2012
  [   62.271366] Call Trace:
  [   62.271705]  dump_stack+0xae/0xe5
  [   62.272180]  print_address_description.constprop.0+0x17/0xf0
  [   62.272987]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.273474]  __kasan_report.cold+0x20/0x38
  [   62.273989]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.274460]  kasan_report+0x3a/0x50
  [   62.274891]  psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.275380]  drm_irq_install+0x131/0x1f0
  <...>
  [   62.300751] Allocated by task 285:
  [   62.301223]  kasan_save_stack+0x1b/0x40
  [   62.301731]  __kasan_kmalloc.constprop.0+0xbf/0xd0
  [   62.302293]  drmm_kmalloc+0x55/0x100
  [   62.302773]  drm_vblank_init+0x77/0x210

Resolve the issue by only handling vblank entries up to the number of
CRTCs.

I'm adding a Fixes tag for reference, although the bug has been present
since the driver's initial commit.

Signed-off-by: Thomas Zimmermann 
Reviewed-by: Daniel Vetter 
Fixes: 5c49fd3aa0ab ("gma500: Add the core DRM files and headers")
Cc: Alan Cox 
Cc: Dave Airlie 
Cc: Patrik Jakobsson 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org#v3.3+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20201105190256.3893-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/gma500/psb_irq.c |   34 --
 1 file changed, 12 insertions(+), 22 deletions(-)

--- a/drivers/gpu/drm/gma500/psb_irq.c
+++ b/drivers/gpu/drm/gma500/psb_irq.c
@@ -350,6 +350,7 @@ int psb_irq_postinstall(struct drm_devic
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -362,20 +363,12 @@ int psb_irq_postinstall(struct drm_devic
PSB_WVDC32(dev_priv->vdc_irq_mask, PSB_INT_ENABLE_R);
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_enable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_enable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[2].enabled)
-   psb_enable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
+   for (i = 0; i < dev->num_crtcs; ++i) {
+   if (dev->vblank[i].enabled)
+   psb_enable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   else
+   psb_disable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   }
 
if (dev_priv->ops->hotplug_enable)
dev_priv->ops->hotplug_enable(dev, true);
@@ -388,6 +381,7 @@ void psb_irq_uninstall(struct drm_device
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -396,14 +390,10 @@ void psb_irq_uninstall(struct drm_device
 
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_disable_pipest

Patch "drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]" has been added to the 4.14-stable tree

2020-11-16 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-gma500-fix-out-of-bounds-access-to-struct-drm_device.vblank.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 06ad8d339524bf94b89859047822c31df6ace239 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 5 Nov 2020 20:02:56 +0100
Subject: drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

From: Thomas Zimmermann 

commit 06ad8d339524bf94b89859047822c31df6ace239 upstream.

The gma500 driver expects 3 pipelines in several it's IRQ functions.
Accessing struct drm_device.vblank[], this fails with devices that only
have 2 pipelines. An example KASAN report is shown below.

  [   62.267688] 
==
  [   62.268856] BUG: KASAN: slab-out-of-bounds in 
psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.269450] Read of size 1 at addr 8880012bc6d0 by task 
systemd-udevd/285
  [   62.269949]
  [   62.270192] CPU: 0 PID: 285 Comm: systemd-udevd Tainted: GE
 5.10.0-rc1-1-default+ #572
  [   62.270807] Hardware name:  /DN2800MT, BIOS 
MTCDT10N.86A.0164.2012.1213.1024 12/13/2012
  [   62.271366] Call Trace:
  [   62.271705]  dump_stack+0xae/0xe5
  [   62.272180]  print_address_description.constprop.0+0x17/0xf0
  [   62.272987]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.273474]  __kasan_report.cold+0x20/0x38
  [   62.273989]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.274460]  kasan_report+0x3a/0x50
  [   62.274891]  psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.275380]  drm_irq_install+0x131/0x1f0
  <...>
  [   62.300751] Allocated by task 285:
  [   62.301223]  kasan_save_stack+0x1b/0x40
  [   62.301731]  __kasan_kmalloc.constprop.0+0xbf/0xd0
  [   62.302293]  drmm_kmalloc+0x55/0x100
  [   62.302773]  drm_vblank_init+0x77/0x210

Resolve the issue by only handling vblank entries up to the number of
CRTCs.

I'm adding a Fixes tag for reference, although the bug has been present
since the driver's initial commit.

Signed-off-by: Thomas Zimmermann 
Reviewed-by: Daniel Vetter 
Fixes: 5c49fd3aa0ab ("gma500: Add the core DRM files and headers")
Cc: Alan Cox 
Cc: Dave Airlie 
Cc: Patrik Jakobsson 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org#v3.3+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20201105190256.3893-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/gma500/psb_irq.c |   34 --
 1 file changed, 12 insertions(+), 22 deletions(-)

--- a/drivers/gpu/drm/gma500/psb_irq.c
+++ b/drivers/gpu/drm/gma500/psb_irq.c
@@ -350,6 +350,7 @@ int psb_irq_postinstall(struct drm_devic
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -362,20 +363,12 @@ int psb_irq_postinstall(struct drm_devic
PSB_WVDC32(dev_priv->vdc_irq_mask, PSB_INT_ENABLE_R);
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_enable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_enable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[2].enabled)
-   psb_enable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
+   for (i = 0; i < dev->num_crtcs; ++i) {
+   if (dev->vblank[i].enabled)
+   psb_enable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   else
+   psb_disable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   }
 
if (dev_priv->ops->hotplug_enable)
dev_priv->ops->hotplug_enable(dev, true);
@@ -388,6 +381,7 @@ void psb_irq_uninstall(struct drm_device
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -396,14 +390,10 @@ void psb_irq_uninstall(struct drm_device
 
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_disable_pipest

Patch "drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]" has been added to the 5.4-stable tree

2020-11-16 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

to the 5.4-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-gma500-fix-out-of-bounds-access-to-struct-drm_device.vblank.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 06ad8d339524bf94b89859047822c31df6ace239 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 5 Nov 2020 20:02:56 +0100
Subject: drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

From: Thomas Zimmermann 

commit 06ad8d339524bf94b89859047822c31df6ace239 upstream.

The gma500 driver expects 3 pipelines in several it's IRQ functions.
Accessing struct drm_device.vblank[], this fails with devices that only
have 2 pipelines. An example KASAN report is shown below.

  [   62.267688] 
==
  [   62.268856] BUG: KASAN: slab-out-of-bounds in 
psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.269450] Read of size 1 at addr 8880012bc6d0 by task 
systemd-udevd/285
  [   62.269949]
  [   62.270192] CPU: 0 PID: 285 Comm: systemd-udevd Tainted: GE
 5.10.0-rc1-1-default+ #572
  [   62.270807] Hardware name:  /DN2800MT, BIOS 
MTCDT10N.86A.0164.2012.1213.1024 12/13/2012
  [   62.271366] Call Trace:
  [   62.271705]  dump_stack+0xae/0xe5
  [   62.272180]  print_address_description.constprop.0+0x17/0xf0
  [   62.272987]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.273474]  __kasan_report.cold+0x20/0x38
  [   62.273989]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.274460]  kasan_report+0x3a/0x50
  [   62.274891]  psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.275380]  drm_irq_install+0x131/0x1f0
  <...>
  [   62.300751] Allocated by task 285:
  [   62.301223]  kasan_save_stack+0x1b/0x40
  [   62.301731]  __kasan_kmalloc.constprop.0+0xbf/0xd0
  [   62.302293]  drmm_kmalloc+0x55/0x100
  [   62.302773]  drm_vblank_init+0x77/0x210

Resolve the issue by only handling vblank entries up to the number of
CRTCs.

I'm adding a Fixes tag for reference, although the bug has been present
since the driver's initial commit.

Signed-off-by: Thomas Zimmermann 
Reviewed-by: Daniel Vetter 
Fixes: 5c49fd3aa0ab ("gma500: Add the core DRM files and headers")
Cc: Alan Cox 
Cc: Dave Airlie 
Cc: Patrik Jakobsson 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org#v3.3+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20201105190256.3893-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/gma500/psb_irq.c |   34 --
 1 file changed, 12 insertions(+), 22 deletions(-)

--- a/drivers/gpu/drm/gma500/psb_irq.c
+++ b/drivers/gpu/drm/gma500/psb_irq.c
@@ -337,6 +337,7 @@ int psb_irq_postinstall(struct drm_devic
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -349,20 +350,12 @@ int psb_irq_postinstall(struct drm_devic
PSB_WVDC32(dev_priv->vdc_irq_mask, PSB_INT_ENABLE_R);
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_enable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_enable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[2].enabled)
-   psb_enable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
+   for (i = 0; i < dev->num_crtcs; ++i) {
+   if (dev->vblank[i].enabled)
+   psb_enable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   else
+   psb_disable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   }
 
if (dev_priv->ops->hotplug_enable)
dev_priv->ops->hotplug_enable(dev, true);
@@ -375,6 +368,7 @@ void psb_irq_uninstall(struct drm_device
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -383,14 +377,10 @@ void psb_irq_uninstall(struct drm_device
 
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_disable_pipestat

Patch "drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]" has been added to the 5.9-stable tree

2020-11-16 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

to the 5.9-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-gma500-fix-out-of-bounds-access-to-struct-drm_device.vblank.patch
and it can be found in the queue-5.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 06ad8d339524bf94b89859047822c31df6ace239 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 5 Nov 2020 20:02:56 +0100
Subject: drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

From: Thomas Zimmermann 

commit 06ad8d339524bf94b89859047822c31df6ace239 upstream.

The gma500 driver expects 3 pipelines in several it's IRQ functions.
Accessing struct drm_device.vblank[], this fails with devices that only
have 2 pipelines. An example KASAN report is shown below.

  [   62.267688] 
==
  [   62.268856] BUG: KASAN: slab-out-of-bounds in 
psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.269450] Read of size 1 at addr 8880012bc6d0 by task 
systemd-udevd/285
  [   62.269949]
  [   62.270192] CPU: 0 PID: 285 Comm: systemd-udevd Tainted: GE
 5.10.0-rc1-1-default+ #572
  [   62.270807] Hardware name:  /DN2800MT, BIOS 
MTCDT10N.86A.0164.2012.1213.1024 12/13/2012
  [   62.271366] Call Trace:
  [   62.271705]  dump_stack+0xae/0xe5
  [   62.272180]  print_address_description.constprop.0+0x17/0xf0
  [   62.272987]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.273474]  __kasan_report.cold+0x20/0x38
  [   62.273989]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.274460]  kasan_report+0x3a/0x50
  [   62.274891]  psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.275380]  drm_irq_install+0x131/0x1f0
  <...>
  [   62.300751] Allocated by task 285:
  [   62.301223]  kasan_save_stack+0x1b/0x40
  [   62.301731]  __kasan_kmalloc.constprop.0+0xbf/0xd0
  [   62.302293]  drmm_kmalloc+0x55/0x100
  [   62.302773]  drm_vblank_init+0x77/0x210

Resolve the issue by only handling vblank entries up to the number of
CRTCs.

I'm adding a Fixes tag for reference, although the bug has been present
since the driver's initial commit.

Signed-off-by: Thomas Zimmermann 
Reviewed-by: Daniel Vetter 
Fixes: 5c49fd3aa0ab ("gma500: Add the core DRM files and headers")
Cc: Alan Cox 
Cc: Dave Airlie 
Cc: Patrik Jakobsson 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org#v3.3+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20201105190256.3893-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/gma500/psb_irq.c |   34 --
 1 file changed, 12 insertions(+), 22 deletions(-)

--- a/drivers/gpu/drm/gma500/psb_irq.c
+++ b/drivers/gpu/drm/gma500/psb_irq.c
@@ -347,6 +347,7 @@ int psb_irq_postinstall(struct drm_devic
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -359,20 +360,12 @@ int psb_irq_postinstall(struct drm_devic
PSB_WVDC32(dev_priv->vdc_irq_mask, PSB_INT_ENABLE_R);
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_enable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_enable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[2].enabled)
-   psb_enable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
+   for (i = 0; i < dev->num_crtcs; ++i) {
+   if (dev->vblank[i].enabled)
+   psb_enable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   else
+   psb_disable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   }
 
if (dev_priv->ops->hotplug_enable)
dev_priv->ops->hotplug_enable(dev, true);
@@ -385,6 +378,7 @@ void psb_irq_uninstall(struct drm_device
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -393,14 +387,10 @@ void psb_irq_uninstall(struct drm_device
 
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_disable_pipestat

Patch "drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]" has been added to the 4.4-stable tree

2020-11-16 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

to the 4.4-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-gma500-fix-out-of-bounds-access-to-struct-drm_device.vblank.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 06ad8d339524bf94b89859047822c31df6ace239 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 5 Nov 2020 20:02:56 +0100
Subject: drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

From: Thomas Zimmermann 

commit 06ad8d339524bf94b89859047822c31df6ace239 upstream.

The gma500 driver expects 3 pipelines in several it's IRQ functions.
Accessing struct drm_device.vblank[], this fails with devices that only
have 2 pipelines. An example KASAN report is shown below.

  [   62.267688] 
==
  [   62.268856] BUG: KASAN: slab-out-of-bounds in 
psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.269450] Read of size 1 at addr 8880012bc6d0 by task 
systemd-udevd/285
  [   62.269949]
  [   62.270192] CPU: 0 PID: 285 Comm: systemd-udevd Tainted: GE
 5.10.0-rc1-1-default+ #572
  [   62.270807] Hardware name:  /DN2800MT, BIOS 
MTCDT10N.86A.0164.2012.1213.1024 12/13/2012
  [   62.271366] Call Trace:
  [   62.271705]  dump_stack+0xae/0xe5
  [   62.272180]  print_address_description.constprop.0+0x17/0xf0
  [   62.272987]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.273474]  __kasan_report.cold+0x20/0x38
  [   62.273989]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.274460]  kasan_report+0x3a/0x50
  [   62.274891]  psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.275380]  drm_irq_install+0x131/0x1f0
  <...>
  [   62.300751] Allocated by task 285:
  [   62.301223]  kasan_save_stack+0x1b/0x40
  [   62.301731]  __kasan_kmalloc.constprop.0+0xbf/0xd0
  [   62.302293]  drmm_kmalloc+0x55/0x100
  [   62.302773]  drm_vblank_init+0x77/0x210

Resolve the issue by only handling vblank entries up to the number of
CRTCs.

I'm adding a Fixes tag for reference, although the bug has been present
since the driver's initial commit.

Signed-off-by: Thomas Zimmermann 
Reviewed-by: Daniel Vetter 
Fixes: 5c49fd3aa0ab ("gma500: Add the core DRM files and headers")
Cc: Alan Cox 
Cc: Dave Airlie 
Cc: Patrik Jakobsson 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org#v3.3+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20201105190256.3893-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/gma500/psb_irq.c |   34 --
 1 file changed, 12 insertions(+), 22 deletions(-)

--- a/drivers/gpu/drm/gma500/psb_irq.c
+++ b/drivers/gpu/drm/gma500/psb_irq.c
@@ -350,6 +350,7 @@ int psb_irq_postinstall(struct drm_devic
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -362,20 +363,12 @@ int psb_irq_postinstall(struct drm_devic
PSB_WVDC32(dev_priv->vdc_irq_mask, PSB_INT_ENABLE_R);
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_enable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_enable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[2].enabled)
-   psb_enable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
+   for (i = 0; i < dev->num_crtcs; ++i) {
+   if (dev->vblank[i].enabled)
+   psb_enable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   else
+   psb_disable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   }
 
if (dev_priv->ops->hotplug_enable)
dev_priv->ops->hotplug_enable(dev, true);
@@ -388,6 +381,7 @@ void psb_irq_uninstall(struct drm_device
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -396,14 +390,10 @@ void psb_irq_uninstall(struct drm_device
 
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_disable_pipestat

Patch "drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]" has been added to the 4.9-stable tree

2020-11-16 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

to the 4.9-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-gma500-fix-out-of-bounds-access-to-struct-drm_device.vblank.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 06ad8d339524bf94b89859047822c31df6ace239 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 5 Nov 2020 20:02:56 +0100
Subject: drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]

From: Thomas Zimmermann 

commit 06ad8d339524bf94b89859047822c31df6ace239 upstream.

The gma500 driver expects 3 pipelines in several it's IRQ functions.
Accessing struct drm_device.vblank[], this fails with devices that only
have 2 pipelines. An example KASAN report is shown below.

  [   62.267688] 
==
  [   62.268856] BUG: KASAN: slab-out-of-bounds in 
psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.269450] Read of size 1 at addr 8880012bc6d0 by task 
systemd-udevd/285
  [   62.269949]
  [   62.270192] CPU: 0 PID: 285 Comm: systemd-udevd Tainted: GE
 5.10.0-rc1-1-default+ #572
  [   62.270807] Hardware name:  /DN2800MT, BIOS 
MTCDT10N.86A.0164.2012.1213.1024 12/13/2012
  [   62.271366] Call Trace:
  [   62.271705]  dump_stack+0xae/0xe5
  [   62.272180]  print_address_description.constprop.0+0x17/0xf0
  [   62.272987]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.273474]  __kasan_report.cold+0x20/0x38
  [   62.273989]  ? psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.274460]  kasan_report+0x3a/0x50
  [   62.274891]  psb_irq_postinstall+0x250/0x3c0 [gma500_gfx]
  [   62.275380]  drm_irq_install+0x131/0x1f0
  <...>
  [   62.300751] Allocated by task 285:
  [   62.301223]  kasan_save_stack+0x1b/0x40
  [   62.301731]  __kasan_kmalloc.constprop.0+0xbf/0xd0
  [   62.302293]  drmm_kmalloc+0x55/0x100
  [   62.302773]  drm_vblank_init+0x77/0x210

Resolve the issue by only handling vblank entries up to the number of
CRTCs.

I'm adding a Fixes tag for reference, although the bug has been present
since the driver's initial commit.

Signed-off-by: Thomas Zimmermann 
Reviewed-by: Daniel Vetter 
Fixes: 5c49fd3aa0ab ("gma500: Add the core DRM files and headers")
Cc: Alan Cox 
Cc: Dave Airlie 
Cc: Patrik Jakobsson 
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org#v3.3+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20201105190256.3893-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/gma500/psb_irq.c |   34 --
 1 file changed, 12 insertions(+), 22 deletions(-)

--- a/drivers/gpu/drm/gma500/psb_irq.c
+++ b/drivers/gpu/drm/gma500/psb_irq.c
@@ -350,6 +350,7 @@ int psb_irq_postinstall(struct drm_devic
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -362,20 +363,12 @@ int psb_irq_postinstall(struct drm_devic
PSB_WVDC32(dev_priv->vdc_irq_mask, PSB_INT_ENABLE_R);
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_enable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_enable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[2].enabled)
-   psb_enable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
-   else
-   psb_disable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
+   for (i = 0; i < dev->num_crtcs; ++i) {
+   if (dev->vblank[i].enabled)
+   psb_enable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   else
+   psb_disable_pipestat(dev_priv, i, 
PIPE_VBLANK_INTERRUPT_ENABLE);
+   }
 
if (dev_priv->ops->hotplug_enable)
dev_priv->ops->hotplug_enable(dev, true);
@@ -388,6 +381,7 @@ void psb_irq_uninstall(struct drm_device
 {
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned long irqflags;
+   unsigned int i;
 
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
 
@@ -396,14 +390,10 @@ void psb_irq_uninstall(struct drm_device
 
PSB_WVDC32(0x, PSB_HWSTAM);
 
-   if (dev->vblank[0].enabled)
-   psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
-
-   if (dev->vblank[1].enabled)
-   psb_disable_pipestat

Patch "drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP" has been added to the 5.15-stable tree

2022-03-14 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-panel-select-drm_dp_helper-for-drm_panel_edp.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 3755d35ee1d2454b20b8a1e20d790e56201678a4 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 3 Feb 2022 10:39:22 +0100
Subject: drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP

From: Thomas Zimmermann 

commit 3755d35ee1d2454b20b8a1e20d790e56201678a4 upstream.

As reported in [1], DRM_PANEL_EDP depends on DRM_DP_HELPER. Select
the option to fix the build failure. The error message is shown
below.

  arm-linux-gnueabihf-ld: drivers/gpu/drm/panel/panel-edp.o: in function
`panel_edp_probe': panel-edp.c:(.text+0xb74): undefined reference to
`drm_panel_dp_aux_backlight'
  make[1]: *** [/builds/linux/Makefile:1222: vmlinux] Error 1

The issue has been reported before, when DisplayPort helpers were
hidden behind the option CONFIG_DRM_KMS_HELPER. [2]

v2:
* fix and expand commit description (Arnd)

Signed-off-by: Thomas Zimmermann 
Fixes: 9d6366e743f3 ("drm: fb_helper: improve CONFIG_FB dependency")
Reported-by: Naresh Kamboju 
Reported-by: Linux Kernel Functional Testing 
Reviewed-by: Lyude Paul 
Acked-by: Sam Ravnborg 
Link: 
https://lore.kernel.org/dri-devel/CA+G9fYvN0NyaVkRQmA1O6rX7H8PPaZrUAD7=rdy33qy9ruu...@mail.gmail.com/
 # [1]
Link: https://lore.kernel.org/all/2027062704.14671-1-rdun...@infradead.org/ 
# [2]
Cc: Thomas Zimmermann 
Cc: Lyude Paul 
Cc: Daniel Vetter 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: dri-devel@lists.freedesktop.org
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220203093922.20754-1-tzimmerm...@suse.de
Signed-off-by: Dave Airlie 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/panel/Kconfig |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/gpu/drm/panel/Kconfig
+++ b/drivers/gpu/drm/panel/Kconfig
@@ -83,6 +83,7 @@ config DRM_PANEL_SIMPLE
depends on PM
select VIDEOMODE_HELPERS
select DRM_DP_AUX_BUS
+   select DRM_DP_HELPER
help
  DRM panel driver for dumb panels that need at most a regulator and
  a GPIO to be powered up. Optionally a backlight can be attached so


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.15/drm-panel-select-drm_dp_helper-for-drm_panel_edp.patch


Patch "drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP" has been added to the 5.16-stable tree

2022-03-14 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP

to the 5.16-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-panel-select-drm_dp_helper-for-drm_panel_edp.patch
and it can be found in the queue-5.16 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 3755d35ee1d2454b20b8a1e20d790e56201678a4 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 3 Feb 2022 10:39:22 +0100
Subject: drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP

From: Thomas Zimmermann 

commit 3755d35ee1d2454b20b8a1e20d790e56201678a4 upstream.

As reported in [1], DRM_PANEL_EDP depends on DRM_DP_HELPER. Select
the option to fix the build failure. The error message is shown
below.

  arm-linux-gnueabihf-ld: drivers/gpu/drm/panel/panel-edp.o: in function
`panel_edp_probe': panel-edp.c:(.text+0xb74): undefined reference to
`drm_panel_dp_aux_backlight'
  make[1]: *** [/builds/linux/Makefile:1222: vmlinux] Error 1

The issue has been reported before, when DisplayPort helpers were
hidden behind the option CONFIG_DRM_KMS_HELPER. [2]

v2:
* fix and expand commit description (Arnd)

Signed-off-by: Thomas Zimmermann 
Fixes: 9d6366e743f3 ("drm: fb_helper: improve CONFIG_FB dependency")
Reported-by: Naresh Kamboju 
Reported-by: Linux Kernel Functional Testing 
Reviewed-by: Lyude Paul 
Acked-by: Sam Ravnborg 
Link: 
https://lore.kernel.org/dri-devel/CA+G9fYvN0NyaVkRQmA1O6rX7H8PPaZrUAD7=rdy33qy9ruu...@mail.gmail.com/
 # [1]
Link: https://lore.kernel.org/all/2027062704.14671-1-rdun...@infradead.org/ 
# [2]
Cc: Thomas Zimmermann 
Cc: Lyude Paul 
Cc: Daniel Vetter 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: dri-devel@lists.freedesktop.org
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220203093922.20754-1-tzimmerm...@suse.de
Signed-off-by: Dave Airlie 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/panel/Kconfig |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/gpu/drm/panel/Kconfig
+++ b/drivers/gpu/drm/panel/Kconfig
@@ -95,6 +95,7 @@ config DRM_PANEL_EDP
depends on PM
select VIDEOMODE_HELPERS
select DRM_DP_AUX_BUS
+   select DRM_DP_HELPER
help
  DRM panel driver for dumb eDP panels that need at most a regulator and
  a GPIO to be powered up. Optionally a backlight can be attached so


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.16/drm-panel-select-drm_dp_helper-for-drm_panel_edp.patch


Patch "drm/mgag200: Select clock in PLL update functions" has been added to the 5.10-stable tree

2021-09-16 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/mgag200: Select clock in PLL update functions

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-mgag200-select-clock-in-pll-update-functions.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 147696720eca12ae48d020726208b9a61cdd80bc Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Wed, 14 Jul 2021 16:22:28 +0200
Subject: drm/mgag200: Select clock in PLL update functions

From: Thomas Zimmermann 

commit 147696720eca12ae48d020726208b9a61cdd80bc upstream.

Put the clock-selection code into each of the PLL-update functions to
make them select the correct pixel clock. Instead of copying the code,
introduce a new helper WREG_MISC_MASKED, which does masked writes into
. Use it from each individual PLL update function.

The pixel clock for video output was not actually set before programming
the clock's values. It worked because the device had the correct clock
pre-set.

v2:
* don't duplicate  update code (Sam)

Signed-off-by: Thomas Zimmermann 
Fixes: db05f8d3dc87 ("drm/mgag200: Split MISC register update into PLL 
selection, SYNC and I/O")
Acked-by: Sam Ravnborg 
Cc: Sam Ravnborg 
Cc: Emil Velikov 
Cc: Dave Airlie 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.9+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210714142240.21979-2-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/mgag200/mgag200_drv.h  |   16 
 drivers/gpu/drm/mgag200/mgag200_mode.c |   20 +---
 drivers/gpu/drm/mgag200/mgag200_reg.h  |9 -
 3 files changed, 33 insertions(+), 12 deletions(-)

--- a/drivers/gpu/drm/mgag200/mgag200_drv.h
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.h
@@ -43,6 +43,22 @@
 #define ATTR_INDEX 0x1fc0
 #define ATTR_DATA 0x1fc1
 
+#define WREG_MISC(v)   \
+   WREG8(MGA_MISC_OUT, v)
+
+#define RREG_MISC(v)   \
+   ((v) = RREG8(MGA_MISC_IN))
+
+#define WREG_MISC_MASKED(v, mask)  \
+   do {\
+   u8 misc_;   \
+   u8 mask_ = (mask);  \
+   RREG_MISC(misc_);   \
+   misc_ &= ~mask_;\
+   misc_ |= ((v) & mask_); \
+   WREG_MISC(misc_);   \
+   } while (0)
+
 #define WREG_ATTR(reg, v)  \
do {\
RREG8(0x1fda);  \
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -172,6 +172,8 @@ static int mgag200_g200_set_plls(struct
drm_dbg_kms(dev, "clock: %ld vco: %ld m: %d n: %d p: %d s: %d\n",
clock, f_vco, m, n, p, s);
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG_DAC(MGA1064_PIX_PLLC_M, m);
WREG_DAC(MGA1064_PIX_PLLC_N, n);
WREG_DAC(MGA1064_PIX_PLLC_P, (p | (s << 3)));
@@ -287,6 +289,8 @@ static int mga_g200se_set_plls(struct mg
return 1;
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG_DAC(MGA1064_PIX_PLLC_M, m);
WREG_DAC(MGA1064_PIX_PLLC_N, n);
WREG_DAC(MGA1064_PIX_PLLC_P, p);
@@ -383,6 +387,8 @@ static int mga_g200wb_set_plls(struct mg
}
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
for (i = 0; i <= 32 && pll_locked == false; i++) {
if (i > 0) {
WREG8(MGAREG_CRTC_INDEX, 0x1e);
@@ -520,6 +526,8 @@ static int mga_g200ev_set_plls(struct mg
}
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL);
tmp = RREG8(DAC_DATA);
tmp |= MGA1064_PIX_CLK_CTL_CLK_DIS;
@@ -652,6 +660,9 @@ static int mga_g200eh_set_plls(struct mg
}
}
}
+
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
for (i = 0; i <= 32 && pll_locked == false; i++) {
WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL);
tmp = RREG8(DAC_DATA);
@@ -752,6 +763,8 @@ static int mga_g200er_set_plls(struct mg
}
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL);
tmp = RREG8(DAC_DATA);
tmp |= MGA1

Patch "drm/mgag200: Select clock in PLL update functions" has been added to the 5.13-stable tree

2021-09-16 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/mgag200: Select clock in PLL update functions

to the 5.13-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-mgag200-select-clock-in-pll-update-functions.patch
and it can be found in the queue-5.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 147696720eca12ae48d020726208b9a61cdd80bc Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Wed, 14 Jul 2021 16:22:28 +0200
Subject: drm/mgag200: Select clock in PLL update functions

From: Thomas Zimmermann 

commit 147696720eca12ae48d020726208b9a61cdd80bc upstream.

Put the clock-selection code into each of the PLL-update functions to
make them select the correct pixel clock. Instead of copying the code,
introduce a new helper WREG_MISC_MASKED, which does masked writes into
. Use it from each individual PLL update function.

The pixel clock for video output was not actually set before programming
the clock's values. It worked because the device had the correct clock
pre-set.

v2:
* don't duplicate  update code (Sam)

Signed-off-by: Thomas Zimmermann 
Fixes: db05f8d3dc87 ("drm/mgag200: Split MISC register update into PLL 
selection, SYNC and I/O")
Acked-by: Sam Ravnborg 
Cc: Sam Ravnborg 
Cc: Emil Velikov 
Cc: Dave Airlie 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.9+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210714142240.21979-2-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/mgag200/mgag200_drv.h  |   16 
 drivers/gpu/drm/mgag200/mgag200_mode.c |   20 +---
 drivers/gpu/drm/mgag200/mgag200_reg.h  |9 -
 3 files changed, 33 insertions(+), 12 deletions(-)

--- a/drivers/gpu/drm/mgag200/mgag200_drv.h
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.h
@@ -43,6 +43,22 @@
 #define ATTR_INDEX 0x1fc0
 #define ATTR_DATA 0x1fc1
 
+#define WREG_MISC(v)   \
+   WREG8(MGA_MISC_OUT, v)
+
+#define RREG_MISC(v)   \
+   ((v) = RREG8(MGA_MISC_IN))
+
+#define WREG_MISC_MASKED(v, mask)  \
+   do {\
+   u8 misc_;   \
+   u8 mask_ = (mask);  \
+   RREG_MISC(misc_);   \
+   misc_ &= ~mask_;\
+   misc_ |= ((v) & mask_); \
+   WREG_MISC(misc_);   \
+   } while (0)
+
 #define WREG_ATTR(reg, v)  \
do {\
RREG8(0x1fda);  \
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -174,6 +174,8 @@ static int mgag200_g200_set_plls(struct
drm_dbg_kms(dev, "clock: %ld vco: %ld m: %d n: %d p: %d s: %d\n",
clock, f_vco, m, n, p, s);
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG_DAC(MGA1064_PIX_PLLC_M, m);
WREG_DAC(MGA1064_PIX_PLLC_N, n);
WREG_DAC(MGA1064_PIX_PLLC_P, (p | (s << 3)));
@@ -289,6 +291,8 @@ static int mga_g200se_set_plls(struct mg
return 1;
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG_DAC(MGA1064_PIX_PLLC_M, m);
WREG_DAC(MGA1064_PIX_PLLC_N, n);
WREG_DAC(MGA1064_PIX_PLLC_P, p);
@@ -385,6 +389,8 @@ static int mga_g200wb_set_plls(struct mg
}
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
for (i = 0; i <= 32 && pll_locked == false; i++) {
if (i > 0) {
WREG8(MGAREG_CRTC_INDEX, 0x1e);
@@ -522,6 +528,8 @@ static int mga_g200ev_set_plls(struct mg
}
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL);
tmp = RREG8(DAC_DATA);
tmp |= MGA1064_PIX_CLK_CTL_CLK_DIS;
@@ -654,6 +662,9 @@ static int mga_g200eh_set_plls(struct mg
}
}
}
+
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
for (i = 0; i <= 32 && pll_locked == false; i++) {
WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL);
tmp = RREG8(DAC_DATA);
@@ -754,6 +765,8 @@ static int mga_g200er_set_plls(struct mg
}
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL);
tmp = RREG8(DAC_DATA);
tmp |= MGA1

Patch "drm/mgag200: Select clock in PLL update functions" has been added to the 5.14-stable tree

2021-09-16 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/mgag200: Select clock in PLL update functions

to the 5.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-mgag200-select-clock-in-pll-update-functions.patch
and it can be found in the queue-5.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 147696720eca12ae48d020726208b9a61cdd80bc Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Wed, 14 Jul 2021 16:22:28 +0200
Subject: drm/mgag200: Select clock in PLL update functions

From: Thomas Zimmermann 

commit 147696720eca12ae48d020726208b9a61cdd80bc upstream.

Put the clock-selection code into each of the PLL-update functions to
make them select the correct pixel clock. Instead of copying the code,
introduce a new helper WREG_MISC_MASKED, which does masked writes into
. Use it from each individual PLL update function.

The pixel clock for video output was not actually set before programming
the clock's values. It worked because the device had the correct clock
pre-set.

v2:
* don't duplicate  update code (Sam)

Signed-off-by: Thomas Zimmermann 
Fixes: db05f8d3dc87 ("drm/mgag200: Split MISC register update into PLL 
selection, SYNC and I/O")
Acked-by: Sam Ravnborg 
Cc: Sam Ravnborg 
Cc: Emil Velikov 
Cc: Dave Airlie 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.9+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210714142240.21979-2-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/mgag200/mgag200_drv.h  |   16 
 drivers/gpu/drm/mgag200/mgag200_mode.c |   20 +---
 drivers/gpu/drm/mgag200/mgag200_reg.h  |9 -
 3 files changed, 33 insertions(+), 12 deletions(-)

--- a/drivers/gpu/drm/mgag200/mgag200_drv.h
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.h
@@ -43,6 +43,22 @@
 #define ATTR_INDEX 0x1fc0
 #define ATTR_DATA 0x1fc1
 
+#define WREG_MISC(v)   \
+   WREG8(MGA_MISC_OUT, v)
+
+#define RREG_MISC(v)   \
+   ((v) = RREG8(MGA_MISC_IN))
+
+#define WREG_MISC_MASKED(v, mask)  \
+   do {\
+   u8 misc_;   \
+   u8 mask_ = (mask);  \
+   RREG_MISC(misc_);   \
+   misc_ &= ~mask_;\
+   misc_ |= ((v) & mask_); \
+   WREG_MISC(misc_);   \
+   } while (0)
+
 #define WREG_ATTR(reg, v)  \
do {\
RREG8(0x1fda);  \
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -174,6 +174,8 @@ static int mgag200_g200_set_plls(struct
drm_dbg_kms(dev, "clock: %ld vco: %ld m: %d n: %d p: %d s: %d\n",
clock, f_vco, m, n, p, s);
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG_DAC(MGA1064_PIX_PLLC_M, m);
WREG_DAC(MGA1064_PIX_PLLC_N, n);
WREG_DAC(MGA1064_PIX_PLLC_P, (p | (s << 3)));
@@ -289,6 +291,8 @@ static int mga_g200se_set_plls(struct mg
return 1;
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG_DAC(MGA1064_PIX_PLLC_M, m);
WREG_DAC(MGA1064_PIX_PLLC_N, n);
WREG_DAC(MGA1064_PIX_PLLC_P, p);
@@ -385,6 +389,8 @@ static int mga_g200wb_set_plls(struct mg
}
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
for (i = 0; i <= 32 && pll_locked == false; i++) {
if (i > 0) {
WREG8(MGAREG_CRTC_INDEX, 0x1e);
@@ -522,6 +528,8 @@ static int mga_g200ev_set_plls(struct mg
}
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL);
tmp = RREG8(DAC_DATA);
tmp |= MGA1064_PIX_CLK_CTL_CLK_DIS;
@@ -654,6 +662,9 @@ static int mga_g200eh_set_plls(struct mg
}
}
}
+
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
for (i = 0; i <= 32 && pll_locked == false; i++) {
WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL);
tmp = RREG8(DAC_DATA);
@@ -754,6 +765,8 @@ static int mga_g200er_set_plls(struct mg
}
}
 
+   WREG_MISC_MASKED(MGAREG_MISC_CLKSEL_MGA, MGAREG_MISC_CLKSEL_MASK);
+
WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL);
tmp = RREG8(DAC_DATA);
tmp |= MGA1

Patch "fbdev: simplefb: fix Kconfig dependencies" has been added to the 5.14-stable tree

2021-10-09 Thread gregkh


This is a note to let you know that I've just added the patch titled

fbdev: simplefb: fix Kconfig dependencies

to the 5.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 fbdev-simplefb-fix-kconfig-dependencies.patch
and it can be found in the queue-5.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From ec7cc3f74b4236860ce612656aa5be7936d1c594 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann 
Date: Tue, 28 Sep 2021 16:52:10 +0200
Subject: fbdev: simplefb: fix Kconfig dependencies

From: Arnd Bergmann 

commit ec7cc3f74b4236860ce612656aa5be7936d1c594 upstream.

Configurations with both CONFIG_FB_SIMPLE=y and CONFIG_DRM_SIMPLEDRM=m
are allowed by Kconfig because the 'depends on !DRM_SIMPLEDRM' dependency
does not disallow FB_SIMPLE as long as SIMPLEDRM is not built-in. This
can however result in a build failure when cfb_fillrect() etc are then
also in loadable modules:

x86_64-linux-ld: drivers/video/fbdev/simplefb.o:(.rodata+0x1f8): undefined 
reference to `cfb_fillrect'
x86_64-linux-ld: drivers/video/fbdev/simplefb.o:(.rodata+0x200): undefined 
reference to `cfb_copyarea'
x86_64-linux-ld: drivers/video/fbdev/simplefb.o:(.rodata+0x208): undefined 
reference to `cfb_imageblit'

To work around this, change FB_SIMPLE to be a 'tristate' symbol,
which still allows both to be =m together, but not one of them to
be =y if the other one is =m. If a distro kernel picks this
configuration, it can be determined by local policy which of
the two modules gets loaded. The 'of_chosen' export is needed
as this is the first loadable module referencing it.

Alternatively, the Kconfig dependency could be changed to
'depends on DRM_SIMPLEDRM=n', which would forbid the configuration
with both drivers.

Fixes: 11e8f5fd223b ("drm: Add simpledrm driver")
Acked-by: Rob Herring  # for drivers/of/
Link: https://lore.kernel.org/all/20210721151839.2484245-1-a...@kernel.org/
Signed-off-by: Arnd Bergmann 
Cc: Thomas Zimmermann 
Cc: Daniel Vetter  # fbdev support
Cc: Maxime Ripard 
Cc: Liam Girdwood 
Cc: Mark Brown 
Cc: Daniel Vetter 
Cc: Borislav Petkov 
Cc: Javier Martinez Canillas 
Cc: Randy Dunlap 
Cc: Geert Uytterhoeven 
Cc: Peter Collingbourne 
Cc: Andy Shevchenko 
Cc: dri-devel@lists.freedesktop.org
Cc: linux-ker...@vger.kernel.org
Cc:  # v5.14+
Signed-off-by: Thomas Zimmermann 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210928145243.1098064-1-a...@kernel.org
Signed-off-by: Maarten Lankhorst 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/of/base.c   |1 +
 drivers/video/fbdev/Kconfig |5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -36,6 +36,7 @@ LIST_HEAD(aliases_lookup);
 struct device_node *of_root;
 EXPORT_SYMBOL(of_root);
 struct device_node *of_chosen;
+EXPORT_SYMBOL(of_chosen);
 struct device_node *of_aliases;
 struct device_node *of_stdout;
 static const char *of_stdout_options;
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -2191,8 +2191,9 @@ config FB_HYPERV
  This framebuffer driver supports Microsoft Hyper-V Synthetic Video.
 
 config FB_SIMPLE
-   bool "Simple framebuffer support"
-   depends on (FB = y) && !DRM_SIMPLEDRM
+   tristate "Simple framebuffer support"
+   depends on FB
+   depends on !DRM_SIMPLEDRM
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT


Patches currently in stable-queue which might be from a...@arndb.de are

queue-5.14/fbdev-simplefb-fix-kconfig-dependencies.patch


Patch "drm/fbdev: Clamp fbdev surface size if too large" has been added to the 5.14-stable tree

2021-10-17 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/fbdev: Clamp fbdev surface size if too large

to the 5.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-fbdev-clamp-fbdev-surface-size-if-too-large.patch
and it can be found in the queue-5.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From b693e42921e0220c0d564c55c6cdc680b0f85390 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Tue, 5 Oct 2021 09:03:55 +0200
Subject: drm/fbdev: Clamp fbdev surface size if too large
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Zimmermann 

commit b693e42921e0220c0d564c55c6cdc680b0f85390 upstream.

Clamp the fbdev surface size of the available maximumi height to avoid
failing to init console emulation. An example error is shown below.

  bad framebuffer height 2304, should be >= 768 && <= 768
  [drm] Initialized simpledrm 1.0.0 20200625 for simple-framebuffer.0 on minor 0
  simple-framebuffer simple-framebuffer.0: [drm] *ERROR* fbdev: Failed to setup 
generic emulation (ret=-22)

This is especially a problem with drivers that have very small screen
sizes and cannot over-allocate at all.

v2:
* reduce warning level (Ville)

Signed-off-by: Thomas Zimmermann 
Fixes: 11e8f5fd223b ("drm: Add simpledrm driver")
Reviewed-by: Ville Syrjälä 
Reviewed-by: Alex Deucher 
Reported-by: Amanoel Dawod 
Reported-by: Zoltán Kővágó 
Reported-by: Michael Stapelberg 
Cc: Daniel Vetter 
Cc: Maxime Ripard 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.14+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20211005070355.7680-1-tzimmerm...@suse.de
Signed-off-by: Dave Airlie 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_fb_helper.c |6 ++
 1 file changed, 6 insertions(+)

--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -1506,6 +1506,7 @@ static int drm_fb_helper_single_fb_probe
 {
struct drm_client_dev *client = &fb_helper->client;
struct drm_device *dev = fb_helper->dev;
+   struct drm_mode_config *config = &dev->mode_config;
int ret = 0;
int crtc_count = 0;
struct drm_connector_list_iter conn_iter;
@@ -1663,6 +1664,11 @@ static int drm_fb_helper_single_fb_probe
/* Handle our overallocation */
sizes.surface_height *= drm_fbdev_overalloc;
sizes.surface_height /= 100;
+   if (sizes.surface_height > config->max_height) {
+   drm_dbg_kms(dev, "Fbdev over-allocation too large; clamping 
height to %d\n",
+   config->max_height);
+   sizes.surface_height = config->max_height;
+   }
 
/* push down into drivers */
ret = (*fb_helper->funcs->fb_probe)(fb_helper, &sizes);


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.14/drm-fbdev-clamp-fbdev-surface-size-if-too-large.patch


Patch "dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()" has been added to the 5.15-stable tree

2022-01-23 Thread gregkh


This is a note to let you know that I've just added the patch titled

dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dma_fence_array-fix-pending_error-leak-in-dma_fence_array_signaled.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 95d35838880fb040ccb9fe4a48816bd0c8b62df5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= 
Date: Mon, 29 Nov 2021 16:27:27 +0100
Subject: dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Hellström 

commit 95d35838880fb040ccb9fe4a48816bd0c8b62df5 upstream.

If a dma_fence_array is reported signaled by a call to
dma_fence_is_signaled(), it may leak the PENDING_ERROR status.

Fix this by clearing the PENDING_ERROR status if we return true in
dma_fence_array_signaled().

v2:
- Update Cc list, and add R-b.

Fixes: 1f70b8b812f3 ("dma-fence: Propagate errors to dma-fence-array container")
Cc: Chris Wilson 
Cc: Sumit Semwal 
Cc: Gustavo Padovan 
Cc: Christian König 
Cc: "Christian König" 
Cc: linux-me...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-...@lists.linaro.org
Cc:  # v5.4+
Signed-off-by: Thomas Hellström 
Reviewed-by: Christian König 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20211129152727.448908-1-thomas.hellst...@linux.intel.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/dma-buf/dma-fence-array.c |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -104,7 +104,11 @@ static bool dma_fence_array_signaled(str
 {
struct dma_fence_array *array = to_dma_fence_array(fence);
 
-   return atomic_read(&array->num_pending) <= 0;
+   if (atomic_read(&array->num_pending) > 0)
+   return false;
+
+   dma_fence_array_clear_pending_error(array);
+   return true;
 }
 
 static void dma_fence_array_release(struct dma_fence *fence)


Patches currently in stable-queue which might be from 
thomas.hellst...@linux.intel.com are

queue-5.15/dma_fence_array-fix-pending_error-leak-in-dma_fence_array_signaled.patch


Patch "dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()" has been added to the 5.16-stable tree

2022-01-23 Thread gregkh


This is a note to let you know that I've just added the patch titled

dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()

to the 5.16-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dma_fence_array-fix-pending_error-leak-in-dma_fence_array_signaled.patch
and it can be found in the queue-5.16 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 95d35838880fb040ccb9fe4a48816bd0c8b62df5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= 
Date: Mon, 29 Nov 2021 16:27:27 +0100
Subject: dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Hellström 

commit 95d35838880fb040ccb9fe4a48816bd0c8b62df5 upstream.

If a dma_fence_array is reported signaled by a call to
dma_fence_is_signaled(), it may leak the PENDING_ERROR status.

Fix this by clearing the PENDING_ERROR status if we return true in
dma_fence_array_signaled().

v2:
- Update Cc list, and add R-b.

Fixes: 1f70b8b812f3 ("dma-fence: Propagate errors to dma-fence-array container")
Cc: Chris Wilson 
Cc: Sumit Semwal 
Cc: Gustavo Padovan 
Cc: Christian König 
Cc: "Christian König" 
Cc: linux-me...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-...@lists.linaro.org
Cc:  # v5.4+
Signed-off-by: Thomas Hellström 
Reviewed-by: Christian König 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20211129152727.448908-1-thomas.hellst...@linux.intel.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/dma-buf/dma-fence-array.c |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -104,7 +104,11 @@ static bool dma_fence_array_signaled(str
 {
struct dma_fence_array *array = to_dma_fence_array(fence);
 
-   return atomic_read(&array->num_pending) <= 0;
+   if (atomic_read(&array->num_pending) > 0)
+   return false;
+
+   dma_fence_array_clear_pending_error(array);
+   return true;
 }
 
 static void dma_fence_array_release(struct dma_fence *fence)


Patches currently in stable-queue which might be from 
thomas.hellst...@linux.intel.com are

queue-5.16/dma_fence_array-fix-pending_error-leak-in-dma_fence_array_signaled.patch


Patch "dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()" has been added to the 5.4-stable tree

2022-01-23 Thread gregkh


This is a note to let you know that I've just added the patch titled

dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()

to the 5.4-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dma_fence_array-fix-pending_error-leak-in-dma_fence_array_signaled.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 95d35838880fb040ccb9fe4a48816bd0c8b62df5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= 
Date: Mon, 29 Nov 2021 16:27:27 +0100
Subject: dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Hellström 

commit 95d35838880fb040ccb9fe4a48816bd0c8b62df5 upstream.

If a dma_fence_array is reported signaled by a call to
dma_fence_is_signaled(), it may leak the PENDING_ERROR status.

Fix this by clearing the PENDING_ERROR status if we return true in
dma_fence_array_signaled().

v2:
- Update Cc list, and add R-b.

Fixes: 1f70b8b812f3 ("dma-fence: Propagate errors to dma-fence-array container")
Cc: Chris Wilson 
Cc: Sumit Semwal 
Cc: Gustavo Padovan 
Cc: Christian König 
Cc: "Christian König" 
Cc: linux-me...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-...@lists.linaro.org
Cc:  # v5.4+
Signed-off-by: Thomas Hellström 
Reviewed-by: Christian König 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20211129152727.448908-1-thomas.hellst...@linux.intel.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/dma-buf/dma-fence-array.c |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -104,7 +104,11 @@ static bool dma_fence_array_signaled(str
 {
struct dma_fence_array *array = to_dma_fence_array(fence);
 
-   return atomic_read(&array->num_pending) <= 0;
+   if (atomic_read(&array->num_pending) > 0)
+   return false;
+
+   dma_fence_array_clear_pending_error(array);
+   return true;
 }
 
 static void dma_fence_array_release(struct dma_fence *fence)


Patches currently in stable-queue which might be from 
thomas.hellst...@linux.intel.com are

queue-5.4/dma_fence_array-fix-pending_error-leak-in-dma_fence_array_signaled.patch


Patch "dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()" has been added to the 5.10-stable tree

2022-01-23 Thread gregkh


This is a note to let you know that I've just added the patch titled

dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dma_fence_array-fix-pending_error-leak-in-dma_fence_array_signaled.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 95d35838880fb040ccb9fe4a48816bd0c8b62df5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= 
Date: Mon, 29 Nov 2021 16:27:27 +0100
Subject: dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Hellström 

commit 95d35838880fb040ccb9fe4a48816bd0c8b62df5 upstream.

If a dma_fence_array is reported signaled by a call to
dma_fence_is_signaled(), it may leak the PENDING_ERROR status.

Fix this by clearing the PENDING_ERROR status if we return true in
dma_fence_array_signaled().

v2:
- Update Cc list, and add R-b.

Fixes: 1f70b8b812f3 ("dma-fence: Propagate errors to dma-fence-array container")
Cc: Chris Wilson 
Cc: Sumit Semwal 
Cc: Gustavo Padovan 
Cc: Christian König 
Cc: "Christian König" 
Cc: linux-me...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-...@lists.linaro.org
Cc:  # v5.4+
Signed-off-by: Thomas Hellström 
Reviewed-by: Christian König 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20211129152727.448908-1-thomas.hellst...@linux.intel.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/dma-buf/dma-fence-array.c |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -104,7 +104,11 @@ static bool dma_fence_array_signaled(str
 {
struct dma_fence_array *array = to_dma_fence_array(fence);
 
-   return atomic_read(&array->num_pending) <= 0;
+   if (atomic_read(&array->num_pending) > 0)
+   return false;
+
+   dma_fence_array_clear_pending_error(array);
+   return true;
 }
 
 static void dma_fence_array_release(struct dma_fence *fence)


Patches currently in stable-queue which might be from 
thomas.hellst...@linux.intel.com are

queue-5.10/dma_fence_array-fix-pending_error-leak-in-dma_fence_array_signaled.patch


Patch "drm/atomic: Add the crtc to affected crtc only if uapi.enable = true" has been added to the 5.16-stable tree

2022-01-29 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/atomic: Add the crtc to affected crtc only if uapi.enable = true

to the 5.16-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-atomic-add-the-crtc-to-affected-crtc-only-if-uapi.enable-true.patch
and it can be found in the queue-5.16 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 5ec1cebd59300ddd26dbaa96c17c508764eef911 Mon Sep 17 00:00:00 2001
From: Manasi Navare 
Date: Mon, 4 Oct 2021 04:59:13 -0700
Subject: drm/atomic: Add the crtc to affected crtc only if uapi.enable = true
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Manasi Navare 

commit 5ec1cebd59300ddd26dbaa96c17c508764eef911 upstream.

In case of a modeset where a mode gets split across multiple CRTCs
in the driver specific implementation (bigjoiner in i915) we wrongly count
the affected CRTCs based on the drm_crtc_mask and indicate the stolen CRTC as
an affected CRTC in atomic_check_only().
This triggers a warning since affected CRTCs doent match requested CRTC.

To fix this in such bigjoiner configurations, we should only
increment affected crtcs if that CRTC is enabled in UAPI not
if it is just used internally in the driver to split the mode.

v3: Add the same uapi crtc_state->enable check in requested
crtc calc (Ville)

Cc: Ville Syrjälä 
Cc: Simon Ser 
Cc: Pekka Paalanen 
Cc: Daniel Stone 
Cc: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.11+
Fixes: 919c2299a893 ("drm/i915: Enable bigjoiner")
Signed-off-by: Manasi Navare 
Reviewed-by: Ville Syrjälä 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20211004115913.23889-1-manasi.d.nav...@intel.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_atomic.c |   12 
 1 file changed, 8 insertions(+), 4 deletions(-)

--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -1310,8 +1310,10 @@ int drm_atomic_check_only(struct drm_ato
 
DRM_DEBUG_ATOMIC("checking %p\n", state);
 
-   for_each_new_crtc_in_state(state, crtc, new_crtc_state, i)
-   requested_crtc |= drm_crtc_mask(crtc);
+   for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) {
+   if (new_crtc_state->enable)
+   requested_crtc |= drm_crtc_mask(crtc);
+   }
 
for_each_oldnew_plane_in_state(state, plane, old_plane_state, 
new_plane_state, i) {
ret = drm_atomic_plane_check(old_plane_state, new_plane_state);
@@ -1360,8 +1362,10 @@ int drm_atomic_check_only(struct drm_ato
}
}
 
-   for_each_new_crtc_in_state(state, crtc, new_crtc_state, i)
-   affected_crtc |= drm_crtc_mask(crtc);
+   for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) {
+   if (new_crtc_state->enable)
+   affected_crtc |= drm_crtc_mask(crtc);
+   }
 
/*
 * For commits that allow modesets drivers can add other CRTCs to the


Patches currently in stable-queue which might be from manasi.d.nav...@intel.com 
are

queue-5.16/drm-atomic-add-the-crtc-to-affected-crtc-only-if-uapi.enable-true.patch


Patch "drm/atomic: Add the crtc to affected crtc only if uapi.enable = true" has been added to the 5.15-stable tree

2022-01-29 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/atomic: Add the crtc to affected crtc only if uapi.enable = true

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-atomic-add-the-crtc-to-affected-crtc-only-if-uapi.enable-true.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 5ec1cebd59300ddd26dbaa96c17c508764eef911 Mon Sep 17 00:00:00 2001
From: Manasi Navare 
Date: Mon, 4 Oct 2021 04:59:13 -0700
Subject: drm/atomic: Add the crtc to affected crtc only if uapi.enable = true
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Manasi Navare 

commit 5ec1cebd59300ddd26dbaa96c17c508764eef911 upstream.

In case of a modeset where a mode gets split across multiple CRTCs
in the driver specific implementation (bigjoiner in i915) we wrongly count
the affected CRTCs based on the drm_crtc_mask and indicate the stolen CRTC as
an affected CRTC in atomic_check_only().
This triggers a warning since affected CRTCs doent match requested CRTC.

To fix this in such bigjoiner configurations, we should only
increment affected crtcs if that CRTC is enabled in UAPI not
if it is just used internally in the driver to split the mode.

v3: Add the same uapi crtc_state->enable check in requested
crtc calc (Ville)

Cc: Ville Syrjälä 
Cc: Simon Ser 
Cc: Pekka Paalanen 
Cc: Daniel Stone 
Cc: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.11+
Fixes: 919c2299a893 ("drm/i915: Enable bigjoiner")
Signed-off-by: Manasi Navare 
Reviewed-by: Ville Syrjälä 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20211004115913.23889-1-manasi.d.nav...@intel.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_atomic.c |   12 
 1 file changed, 8 insertions(+), 4 deletions(-)

--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -1310,8 +1310,10 @@ int drm_atomic_check_only(struct drm_ato
 
DRM_DEBUG_ATOMIC("checking %p\n", state);
 
-   for_each_new_crtc_in_state(state, crtc, new_crtc_state, i)
-   requested_crtc |= drm_crtc_mask(crtc);
+   for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) {
+   if (new_crtc_state->enable)
+   requested_crtc |= drm_crtc_mask(crtc);
+   }
 
for_each_oldnew_plane_in_state(state, plane, old_plane_state, 
new_plane_state, i) {
ret = drm_atomic_plane_check(old_plane_state, new_plane_state);
@@ -1360,8 +1362,10 @@ int drm_atomic_check_only(struct drm_ato
}
}
 
-   for_each_new_crtc_in_state(state, crtc, new_crtc_state, i)
-   affected_crtc |= drm_crtc_mask(crtc);
+   for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) {
+   if (new_crtc_state->enable)
+   affected_crtc |= drm_crtc_mask(crtc);
+   }
 
/*
 * For commits that allow modesets drivers can add other CRTCs to the


Patches currently in stable-queue which might be from manasi.d.nav...@intel.com 
are

queue-5.15/drm-atomic-add-the-crtc-to-affected-crtc-only-if-uapi.enable-true.patch


Patch "drm/cma-helper: Release non-coherent memory with dma_free_noncoherent()" has been added to the 5.15-stable tree

2021-11-22 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/cma-helper: Release non-coherent memory with dma_free_noncoherent()

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-cma-helper-release-non-coherent-memory-with-dma_free_noncoherent.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 995f54ea962e03ec08b8bc6a4fe11a32b420edd3 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Thu, 8 Jul 2021 19:51:46 +0200
Subject: drm/cma-helper: Release non-coherent memory with dma_free_noncoherent()

From: Thomas Zimmermann 

commit 995f54ea962e03ec08b8bc6a4fe11a32b420edd3 upstream.

The GEM CMA helpers allocate non-coherent (i.e., cached) backing storage
with dma_alloc_noncoherent(), but release it with dma_free_wc(). Fix this
with a call to dma_free_noncoherent(). Writecombining storage is still
released with dma_free_wc().

Signed-off-by: Thomas Zimmermann 
Fixes: cf8ccbc72d61 ("drm: Add support for GEM buffers backed by non-coherent 
memory")
Acked-by: Paul Cercueil 
Cc: Thomas Zimmermann 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.14+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210708175146.10618-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_gem_cma_helper.c |9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

--- a/drivers/gpu/drm/drm_gem_cma_helper.c
+++ b/drivers/gpu/drm/drm_gem_cma_helper.c
@@ -210,8 +210,13 @@ void drm_gem_cma_free_object(struct drm_
dma_buf_vunmap(gem_obj->import_attach->dmabuf, &map);
drm_prime_gem_destroy(gem_obj, cma_obj->sgt);
} else if (cma_obj->vaddr) {
-   dma_free_wc(gem_obj->dev->dev, cma_obj->base.size,
-   cma_obj->vaddr, cma_obj->paddr);
+   if (cma_obj->map_noncoherent)
+   dma_free_noncoherent(gem_obj->dev->dev, 
cma_obj->base.size,
+cma_obj->vaddr, cma_obj->paddr,
+DMA_TO_DEVICE);
+   else
+   dma_free_wc(gem_obj->dev->dev, cma_obj->base.size,
+   cma_obj->vaddr, cma_obj->paddr);
}
 
drm_gem_object_release(gem_obj);


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.15/drm-cma-helper-release-non-coherent-memory-with-dma_free_noncoherent.patch


Patch "drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap" has been added to the 5.15-stable tree

2021-11-23 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-prime-fix-use-after-free-in-mmap-with-drm_gem_ttm_mmap.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 8244a3bc27b3efd057da154b8d7e414670d5044f Mon Sep 17 00:00:00 2001
From: Anand K Mistry 
Date: Thu, 30 Sep 2021 09:00:07 +1000
Subject: drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap

From: Anand K Mistry 

commit 8244a3bc27b3efd057da154b8d7e414670d5044f upstream.

drm_gem_ttm_mmap() drops a reference to the gem object on success. If
the gem object's refcount == 1 on entry to drm_gem_prime_mmap(), that
drop will free the gem object, and the subsequent drm_gem_object_get()
will be a UAF. Fix by grabbing a reference before calling the mmap
helper.

This issue was forseen when the reference dropping was adding in
commit 9786b65bc61ac ("drm/ttm: fix mmap refcounting"):
  "For that to work properly the drm_gem_object_get() call in
  drm_gem_ttm_mmap() must be moved so it happens before calling
  obj->funcs->mmap(), otherwise the gem refcount would go down
  to zero."

Signed-off-by: Anand K Mistry 
Fixes: 9786b65bc61a ("drm/ttm: fix mmap refcounting")
Cc: Gerd Hoffmann 
Cc: Daniel Vetter 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.5+
Signed-off-by: Thomas Zimmermann 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20210930085932.1.I8043d61cc238e0168e2f4ca5f4783223434aa587@changeid
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_prime.c |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -719,11 +719,13 @@ int drm_gem_prime_mmap(struct drm_gem_ob
if (obj->funcs && obj->funcs->mmap) {
vma->vm_ops = obj->funcs->vm_ops;
 
+   drm_gem_object_get(obj);
ret = obj->funcs->mmap(obj, vma);
-   if (ret)
+   if (ret) {
+   drm_gem_object_put(obj);
return ret;
+   }
vma->vm_private_data = obj;
-   drm_gem_object_get(obj);
return 0;
}
 


Patches currently in stable-queue which might be from amis...@google.com are

queue-5.15/drm-prime-fix-use-after-free-in-mmap-with-drm_gem_ttm_mmap.patch


Patch "PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary" has been added to the 5.0-stable tree

2019-05-23 Thread gregkh

This is a note to let you know that I've just added the patch titled

PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary

to the 5.0-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 pci-reset-lenovo-thinkpad-p50-nvgpu-at-boot-if-necessary.patch
and it can be found in the queue-5.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From e0547c81bfcfad01cbbfa93a5e66bb98ab932f80 Mon Sep 17 00:00:00 2001
From: Lyude Paul 
Date: Tue, 12 Feb 2019 17:02:30 -0500
Subject: PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary

From: Lyude Paul 

commit e0547c81bfcfad01cbbfa93a5e66bb98ab932f80 upstream.

On ThinkPad P50 SKUs with an Nvidia Quadro M1000M instead of the M2000M
variant, the BIOS does not always reset the secondary Nvidia GPU during
reboot if the laptop is configured in Hybrid Graphics mode.  The reason is
unknown, but the following steps and possibly a good bit of patience will
reproduce the issue:

  1. Boot up the laptop normally in Hybrid Graphics mode
  2. Make sure nouveau is loaded and that the GPU is awake
  3. Allow the Nvidia GPU to runtime suspend itself after being idle
  4. Reboot the machine, the more sudden the better (e.g. sysrq-b may help)
  5. If nouveau loads up properly, reboot the machine again and go back to
 step 2 until you reproduce the issue

This results in some very strange behavior: the GPU will be left in exactly
the same state it was in when the previously booted kernel started the
reboot.  This has all sorts of bad side effects: for starters, this
completely breaks nouveau starting with a mysterious EVO channel failure
that happens well before we've actually used the EVO channel for anything:

  nouveau :01:00.0: disp: chid 0 mthd  data 0400 1000 0002

This causes a timeout trying to bring up the GR ctx:

  nouveau :01:00.0: timeout
  WARNING: CPU: 0 PID: 12 at 
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c:1547 
gf100_grctx_generate+0x7b2/0x850 [nouveau]
  Hardware name: LENOVO 20EQS64N0B/20EQS64N0B, BIOS N1EET82W (1.55 ) 12/18/2018
  Workqueue: events_long drm_dp_mst_link_probe_work [drm_kms_helper]
  ...
  nouveau :01:00.0: gr: wait for idle timeout (en: 1, ctxsw: 0, busy: 1)
  nouveau :01:00.0: gr: wait for idle timeout (en: 1, ctxsw: 0, busy: 1)
  nouveau :01:00.0: fifo: fault 01 [WRITE] at 8000 engine 00 
[GR] client 15 [HUB/SCC_NB] reason c4 [] on channel -1 [00 unknown]

The GPU never manages to recover.  Booting without loading nouveau causes
issues as well, since the GPU starts sending spurious interrupts that cause
other device's IRQs to get disabled by the kernel:

  irq 16: nobody cared (try booting with the "irqpoll" option)
  ...
  handlers:
  [<7faa9e99>] i801_isr [i2c_i801]
  Disabling IRQ #16
  ...
  serio: RMI4 PS/2 pass-through port at rmi4-00.fn03
  i801_smbus :00:1f.4: Timeout waiting for interrupt!
  i801_smbus :00:1f.4: Transaction timeout
  rmi4_f03 rmi4-00.fn03: rmi_f03_pt_write: Failed to write to F03 TX register 
(-110).
  i801_smbus :00:1f.4: Timeout waiting for interrupt!
  i801_smbus :00:1f.4: Transaction timeout
  rmi4_physical rmi4-00: rmi_driver_set_irq_bits: Failed to change enabled 
interrupts!

This causes the touchpad and sometimes other things to get disabled.

Since this happens without nouveau, we can't fix this problem from nouveau
itself.

Add a PCI quirk for the specific P50 variant of this GPU.  Make sure the
GPU is advertising NoReset- so we don't reset the GPU when the machine is
in Dedicated graphics mode (where the GPU being initialized by the BIOS is
normal and expected).  Map the GPU MMIO space and read the magic 0x2240c
register, which will have bit 1 set if the device was POSTed during a
previous boot.  Once we've confirmed all of this, reset the GPU and
re-disable it - bringing it back to a healthy state.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=203003
Link: https://lore.kernel.org/lkml/20190212220230.1568-1-ly...@redhat.com
Signed-off-by: Lyude Paul 
Signed-off-by: Bjorn Helgaas 
Cc: nouv...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: Karol Herbst 
Cc: Ben Skeggs 
Cc: sta...@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/pci/quirks.c |   58 +++
 1 file changed, 58 insertions(+)

--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5122,3 +5122,61 @@ SWITCHTEC_QUIRK(0x8573);  /* PFXI 48XG3
 SWITCHTEC_QUIRK(0x8574);  /* PFXI 64XG3 */
 SWITCHTEC_QUIRK(0x8575);  /* PFXI 80XG3 */
 SWITCHTEC_QUIRK(0x8576);  /* PFXI 96XG3 */
+
+/*
+ * On Lenovo Thinkpad P50 SKUs with a Nvidia Quadro M1000M, the BIOS does
+ * not always reset the secondary Nvidia GPU between reboots if the system
+ * is configured to use Hybrid Graphics mode.  This results in the GPU
+ * be

Patch "PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary" has been added to the 5.1-stable tree

2019-05-23 Thread gregkh

This is a note to let you know that I've just added the patch titled

PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary

to the 5.1-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 pci-reset-lenovo-thinkpad-p50-nvgpu-at-boot-if-necessary.patch
and it can be found in the queue-5.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From e0547c81bfcfad01cbbfa93a5e66bb98ab932f80 Mon Sep 17 00:00:00 2001
From: Lyude Paul 
Date: Tue, 12 Feb 2019 17:02:30 -0500
Subject: PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary

From: Lyude Paul 

commit e0547c81bfcfad01cbbfa93a5e66bb98ab932f80 upstream.

On ThinkPad P50 SKUs with an Nvidia Quadro M1000M instead of the M2000M
variant, the BIOS does not always reset the secondary Nvidia GPU during
reboot if the laptop is configured in Hybrid Graphics mode.  The reason is
unknown, but the following steps and possibly a good bit of patience will
reproduce the issue:

  1. Boot up the laptop normally in Hybrid Graphics mode
  2. Make sure nouveau is loaded and that the GPU is awake
  3. Allow the Nvidia GPU to runtime suspend itself after being idle
  4. Reboot the machine, the more sudden the better (e.g. sysrq-b may help)
  5. If nouveau loads up properly, reboot the machine again and go back to
 step 2 until you reproduce the issue

This results in some very strange behavior: the GPU will be left in exactly
the same state it was in when the previously booted kernel started the
reboot.  This has all sorts of bad side effects: for starters, this
completely breaks nouveau starting with a mysterious EVO channel failure
that happens well before we've actually used the EVO channel for anything:

  nouveau :01:00.0: disp: chid 0 mthd  data 0400 1000 0002

This causes a timeout trying to bring up the GR ctx:

  nouveau :01:00.0: timeout
  WARNING: CPU: 0 PID: 12 at 
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c:1547 
gf100_grctx_generate+0x7b2/0x850 [nouveau]
  Hardware name: LENOVO 20EQS64N0B/20EQS64N0B, BIOS N1EET82W (1.55 ) 12/18/2018
  Workqueue: events_long drm_dp_mst_link_probe_work [drm_kms_helper]
  ...
  nouveau :01:00.0: gr: wait for idle timeout (en: 1, ctxsw: 0, busy: 1)
  nouveau :01:00.0: gr: wait for idle timeout (en: 1, ctxsw: 0, busy: 1)
  nouveau :01:00.0: fifo: fault 01 [WRITE] at 8000 engine 00 
[GR] client 15 [HUB/SCC_NB] reason c4 [] on channel -1 [00 unknown]

The GPU never manages to recover.  Booting without loading nouveau causes
issues as well, since the GPU starts sending spurious interrupts that cause
other device's IRQs to get disabled by the kernel:

  irq 16: nobody cared (try booting with the "irqpoll" option)
  ...
  handlers:
  [<7faa9e99>] i801_isr [i2c_i801]
  Disabling IRQ #16
  ...
  serio: RMI4 PS/2 pass-through port at rmi4-00.fn03
  i801_smbus :00:1f.4: Timeout waiting for interrupt!
  i801_smbus :00:1f.4: Transaction timeout
  rmi4_f03 rmi4-00.fn03: rmi_f03_pt_write: Failed to write to F03 TX register 
(-110).
  i801_smbus :00:1f.4: Timeout waiting for interrupt!
  i801_smbus :00:1f.4: Transaction timeout
  rmi4_physical rmi4-00: rmi_driver_set_irq_bits: Failed to change enabled 
interrupts!

This causes the touchpad and sometimes other things to get disabled.

Since this happens without nouveau, we can't fix this problem from nouveau
itself.

Add a PCI quirk for the specific P50 variant of this GPU.  Make sure the
GPU is advertising NoReset- so we don't reset the GPU when the machine is
in Dedicated graphics mode (where the GPU being initialized by the BIOS is
normal and expected).  Map the GPU MMIO space and read the magic 0x2240c
register, which will have bit 1 set if the device was POSTed during a
previous boot.  Once we've confirmed all of this, reset the GPU and
re-disable it - bringing it back to a healthy state.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=203003
Link: https://lore.kernel.org/lkml/20190212220230.1568-1-ly...@redhat.com
Signed-off-by: Lyude Paul 
Signed-off-by: Bjorn Helgaas 
Cc: nouv...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: Karol Herbst 
Cc: Ben Skeggs 
Cc: sta...@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/pci/quirks.c |   58 +++
 1 file changed, 58 insertions(+)

--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5124,3 +5124,61 @@ SWITCHTEC_QUIRK(0x8573);  /* PFXI 48XG3
 SWITCHTEC_QUIRK(0x8574);  /* PFXI 64XG3 */
 SWITCHTEC_QUIRK(0x8575);  /* PFXI 80XG3 */
 SWITCHTEC_QUIRK(0x8576);  /* PFXI 96XG3 */
+
+/*
+ * On Lenovo Thinkpad P50 SKUs with a Nvidia Quadro M1000M, the BIOS does
+ * not always reset the secondary Nvidia GPU between reboots if the system
+ * is configured to use Hybrid Graphics mode.  This results in the GPU
+ * be

Patch "dma-buf: balance refcount inbalance" has been added to the 4.14-stable tree

2019-07-26 Thread gregkh

This is a note to let you know that I've just added the patch titled

dma-buf: balance refcount inbalance

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dma-buf-balance-refcount-inbalance.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From 5e383a9798990c69fc759a4930de224bb497e62c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= 
Date: Thu, 6 Dec 2018 11:18:40 -0500
Subject: dma-buf: balance refcount inbalance
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Jérôme Glisse 

commit 5e383a9798990c69fc759a4930de224bb497e62c upstream.

The debugfs take reference on fence without dropping them.

Signed-off-by: Jérôme Glisse 
Cc: Christian König 
Cc: Daniel Vetter 
Cc: Sumit Semwal 
Cc: linux-me...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-...@lists.linaro.org
Cc: Stéphane Marchesin 
Cc: sta...@vger.kernel.org
Reviewed-by: Christian König 
Signed-off-by: Sumit Semwal 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20181206161840.6578-1-jgli...@redhat.com
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/dma-buf/dma-buf.c |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -1115,6 +1115,7 @@ static int dma_buf_debug_show(struct seq
   fence->ops->get_driver_name(fence),
   fence->ops->get_timeline_name(fence),
   dma_fence_is_signaled(fence) ? "" : "un");
+   dma_fence_put(fence);
}
rcu_read_unlock();
 


Patches currently in stable-queue which might be from jgli...@redhat.com are

queue-4.14/dma-buf-balance-refcount-inbalance.patch
queue-4.14/libnvdimm-pfn-fix-fsdax-mode-namespace-info-block-zero-fields.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "dma-buf: balance refcount inbalance" has been added to the 5.1-stable tree

2019-07-26 Thread gregkh

This is a note to let you know that I've just added the patch titled

dma-buf: balance refcount inbalance

to the 5.1-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dma-buf-balance-refcount-inbalance.patch
and it can be found in the queue-5.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From 5e383a9798990c69fc759a4930de224bb497e62c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= 
Date: Thu, 6 Dec 2018 11:18:40 -0500
Subject: dma-buf: balance refcount inbalance
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Jérôme Glisse 

commit 5e383a9798990c69fc759a4930de224bb497e62c upstream.

The debugfs take reference on fence without dropping them.

Signed-off-by: Jérôme Glisse 
Cc: Christian König 
Cc: Daniel Vetter 
Cc: Sumit Semwal 
Cc: linux-me...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-...@lists.linaro.org
Cc: Stéphane Marchesin 
Cc: sta...@vger.kernel.org
Reviewed-by: Christian König 
Signed-off-by: Sumit Semwal 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20181206161840.6578-1-jgli...@redhat.com
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/dma-buf/dma-buf.c |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -1068,6 +1068,7 @@ static int dma_buf_debug_show(struct seq
   fence->ops->get_driver_name(fence),
   fence->ops->get_timeline_name(fence),
   dma_fence_is_signaled(fence) ? "" : "un");
+   dma_fence_put(fence);
}
rcu_read_unlock();
 


Patches currently in stable-queue which might be from jgli...@redhat.com are

queue-5.1/dma-buf-balance-refcount-inbalance.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "dma-buf: balance refcount inbalance" has been added to the 4.19-stable tree

2019-07-26 Thread gregkh

This is a note to let you know that I've just added the patch titled

dma-buf: balance refcount inbalance

to the 4.19-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dma-buf-balance-refcount-inbalance.patch
and it can be found in the queue-4.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From 5e383a9798990c69fc759a4930de224bb497e62c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= 
Date: Thu, 6 Dec 2018 11:18:40 -0500
Subject: dma-buf: balance refcount inbalance
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Jérôme Glisse 

commit 5e383a9798990c69fc759a4930de224bb497e62c upstream.

The debugfs take reference on fence without dropping them.

Signed-off-by: Jérôme Glisse 
Cc: Christian König 
Cc: Daniel Vetter 
Cc: Sumit Semwal 
Cc: linux-me...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-...@lists.linaro.org
Cc: Stéphane Marchesin 
Cc: sta...@vger.kernel.org
Reviewed-by: Christian König 
Signed-off-by: Sumit Semwal 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20181206161840.6578-1-jgli...@redhat.com
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/dma-buf/dma-buf.c |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -1069,6 +1069,7 @@ static int dma_buf_debug_show(struct seq
   fence->ops->get_driver_name(fence),
   fence->ops->get_timeline_name(fence),
   dma_fence_is_signaled(fence) ? "" : "un");
+   dma_fence_put(fence);
}
rcu_read_unlock();
 


Patches currently in stable-queue which might be from jgli...@redhat.com are

queue-4.19/dma-buf-balance-refcount-inbalance.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "dma-buf: balance refcount inbalance" has been added to the 5.2-stable tree

2019-07-26 Thread gregkh

This is a note to let you know that I've just added the patch titled

dma-buf: balance refcount inbalance

to the 5.2-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 dma-buf-balance-refcount-inbalance.patch
and it can be found in the queue-5.2 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From 5e383a9798990c69fc759a4930de224bb497e62c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= 
Date: Thu, 6 Dec 2018 11:18:40 -0500
Subject: dma-buf: balance refcount inbalance
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Jérôme Glisse 

commit 5e383a9798990c69fc759a4930de224bb497e62c upstream.

The debugfs take reference on fence without dropping them.

Signed-off-by: Jérôme Glisse 
Cc: Christian König 
Cc: Daniel Vetter 
Cc: Sumit Semwal 
Cc: linux-me...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-...@lists.linaro.org
Cc: Stéphane Marchesin 
Cc: sta...@vger.kernel.org
Reviewed-by: Christian König 
Signed-off-by: Sumit Semwal 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20181206161840.6578-1-jgli...@redhat.com
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/dma-buf/dma-buf.c |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -1057,6 +1057,7 @@ static int dma_buf_debug_show(struct seq
   fence->ops->get_driver_name(fence),
   fence->ops->get_timeline_name(fence),
   dma_fence_is_signaled(fence) ? "" : "un");
+   dma_fence_put(fence);
}
rcu_read_unlock();
 


Patches currently in stable-queue which might be from jgli...@redhat.com are

queue-5.2/dma-buf-balance-refcount-inbalance.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "drm/hyperv-drm: Include framebuffer and EDID headers" has been added to the 5.15-stable tree

2022-08-13 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/hyperv-drm: Include framebuffer and EDID headers

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-hyperv-drm-include-framebuffer-and-edid-headers.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 009a3a52791f31c57d755a73f6bc66fbdd8bd76c Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Wed, 22 Jun 2022 10:34:13 +0200
Subject: drm/hyperv-drm: Include framebuffer and EDID headers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Zimmermann 

commit 009a3a52791f31c57d755a73f6bc66fbdd8bd76c upstream.

Fix a number of compile errors by including the correct header
files. Examples are shown below.

  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c: In function 
'hyperv_blit_to_vram_rect':
  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c:25:48: error: invalid use of 
undefined type 'struct drm_framebuffer'
   25 | struct hyperv_drm_device *hv = to_hv(fb->dev);
  |^~

  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c: In function 
'hyperv_connector_get_modes':
  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c:59:17: error: implicit 
declaration of function 'drm_add_modes_noedid' 
[-Werror=implicit-function-declaration]
   59 | count = drm_add_modes_noedid(connector,
  | ^~~~

  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c:62:9: error: implicit 
declaration of function 'drm_set_preferred_mode'; did you mean 
'drm_mm_reserve_node'? [-Werror=implicit-function-declaration]
   62 | drm_set_preferred_mode(connector, hv->preferred_width,
  | ^~

Signed-off-by: Thomas Zimmermann 
Fixes: 76c56a5affeb ("drm/hyperv: Add DRM driver for hyperv synthetic video 
device")
Fixes: 720cf96d8fec ("drm: Drop drm_framebuffer.h from drm_crtc.h")
Fixes: 255490f9150d ("drm: Drop drm_edid.h from drm_crtc.h")
Cc: Deepak Rawat 
Cc: Thomas Zimmermann 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: linux-hyp...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.14+
Acked-by: Maxime Ripard 
Reviewed-by: Ville Syrjälä 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220622083413.12573-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/hyperv/hyperv_drm_modeset.c |2 ++
 1 file changed, 2 insertions(+)

--- a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c
+++ b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c
@@ -7,9 +7,11 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.15/drm-hyperv-drm-include-framebuffer-and-edid-headers.patch


Patch "drm/hyperv-drm: Include framebuffer and EDID headers" has been added to the 5.18-stable tree

2022-08-13 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/hyperv-drm: Include framebuffer and EDID headers

to the 5.18-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-hyperv-drm-include-framebuffer-and-edid-headers.patch
and it can be found in the queue-5.18 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 009a3a52791f31c57d755a73f6bc66fbdd8bd76c Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Wed, 22 Jun 2022 10:34:13 +0200
Subject: drm/hyperv-drm: Include framebuffer and EDID headers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Zimmermann 

commit 009a3a52791f31c57d755a73f6bc66fbdd8bd76c upstream.

Fix a number of compile errors by including the correct header
files. Examples are shown below.

  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c: In function 
'hyperv_blit_to_vram_rect':
  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c:25:48: error: invalid use of 
undefined type 'struct drm_framebuffer'
   25 | struct hyperv_drm_device *hv = to_hv(fb->dev);
  |^~

  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c: In function 
'hyperv_connector_get_modes':
  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c:59:17: error: implicit 
declaration of function 'drm_add_modes_noedid' 
[-Werror=implicit-function-declaration]
   59 | count = drm_add_modes_noedid(connector,
  | ^~~~

  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c:62:9: error: implicit 
declaration of function 'drm_set_preferred_mode'; did you mean 
'drm_mm_reserve_node'? [-Werror=implicit-function-declaration]
   62 | drm_set_preferred_mode(connector, hv->preferred_width,
  | ^~

Signed-off-by: Thomas Zimmermann 
Fixes: 76c56a5affeb ("drm/hyperv: Add DRM driver for hyperv synthetic video 
device")
Fixes: 720cf96d8fec ("drm: Drop drm_framebuffer.h from drm_crtc.h")
Fixes: 255490f9150d ("drm: Drop drm_edid.h from drm_crtc.h")
Cc: Deepak Rawat 
Cc: Thomas Zimmermann 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: linux-hyp...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.14+
Acked-by: Maxime Ripard 
Reviewed-by: Ville Syrjälä 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220622083413.12573-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/hyperv/hyperv_drm_modeset.c |2 ++
 1 file changed, 2 insertions(+)

--- a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c
+++ b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c
@@ -7,9 +7,11 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.18/drm-hyperv-drm-include-framebuffer-and-edid-headers.patch


Patch "drm/hyperv-drm: Include framebuffer and EDID headers" has been added to the 5.19-stable tree

2022-08-13 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/hyperv-drm: Include framebuffer and EDID headers

to the 5.19-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-hyperv-drm-include-framebuffer-and-edid-headers.patch
and it can be found in the queue-5.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 009a3a52791f31c57d755a73f6bc66fbdd8bd76c Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Wed, 22 Jun 2022 10:34:13 +0200
Subject: drm/hyperv-drm: Include framebuffer and EDID headers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Zimmermann 

commit 009a3a52791f31c57d755a73f6bc66fbdd8bd76c upstream.

Fix a number of compile errors by including the correct header
files. Examples are shown below.

  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c: In function 
'hyperv_blit_to_vram_rect':
  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c:25:48: error: invalid use of 
undefined type 'struct drm_framebuffer'
   25 | struct hyperv_drm_device *hv = to_hv(fb->dev);
  |^~

  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c: In function 
'hyperv_connector_get_modes':
  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c:59:17: error: implicit 
declaration of function 'drm_add_modes_noedid' 
[-Werror=implicit-function-declaration]
   59 | count = drm_add_modes_noedid(connector,
  | ^~~~

  ../drivers/gpu/drm/hyperv/hyperv_drm_modeset.c:62:9: error: implicit 
declaration of function 'drm_set_preferred_mode'; did you mean 
'drm_mm_reserve_node'? [-Werror=implicit-function-declaration]
   62 | drm_set_preferred_mode(connector, hv->preferred_width,
  | ^~

Signed-off-by: Thomas Zimmermann 
Fixes: 76c56a5affeb ("drm/hyperv: Add DRM driver for hyperv synthetic video 
device")
Fixes: 720cf96d8fec ("drm: Drop drm_framebuffer.h from drm_crtc.h")
Fixes: 255490f9150d ("drm: Drop drm_edid.h from drm_crtc.h")
Cc: Deepak Rawat 
Cc: Thomas Zimmermann 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: linux-hyp...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.14+
Acked-by: Maxime Ripard 
Reviewed-by: Ville Syrjälä 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220622083413.12573-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/hyperv/hyperv_drm_modeset.c |2 ++
 1 file changed, 2 insertions(+)

--- a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c
+++ b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c
@@ -7,9 +7,11 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.19/drm-hyperv-drm-include-framebuffer-and-edid-headers.patch
queue-5.19/drm-fb-helper-fix-out-of-bounds-access.patch


Patch "drm/amd/display/dc/gpio/gpio_service: Pass around correct dce_{version, environment} types" has been added to the 5.10-stable tree

2022-05-12 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/amd/display/dc/gpio/gpio_service: Pass around correct dce_{version, 
environment} types

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 
drm-amd-display-dc-gpio-gpio_service-pass-around-correct-dce_-version-environment-types.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 353f7f3a9dd5fd2833b6462bac89ec1654c9c3aa Mon Sep 17 00:00:00 2001
From: Lee Jones 
Date: Wed, 26 May 2021 09:47:06 +0100
Subject: drm/amd/display/dc/gpio/gpio_service: Pass around correct 
dce_{version, environment} types
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lee Jones 

commit 353f7f3a9dd5fd2833b6462bac89ec1654c9c3aa upstream.

Fixes the following W=1 kernel build warning(s):

 drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.c: In function 
‘dal_gpio_service_create’:
 drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.c:71:4: warning: 
implicit conversion from ‘enum dce_version’ to ‘enum dce_environment’ 
[-Wenum-conversion]
 drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.c:77:4: warning: 
implicit conversion from ‘enum dce_version’ to ‘enum dce_environment’ 
[-Wenum-conversion]

Cc: Harry Wentland 
Cc: Leo Li 
Cc: Alex Deucher 
Cc: "Christian König" 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: amd-...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones 
Signed-off-by: Alex Deucher 
Cc: Nathan Chancellor 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c   |   12 +--
 drivers/gpu/drm/amd/display/include/gpio_service_interface.h |4 +--
 2 files changed, 8 insertions(+), 8 deletions(-)

--- a/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c
+++ b/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c
@@ -53,8 +53,8 @@
  */
 
 struct gpio_service *dal_gpio_service_create(
-   enum dce_version dce_version_major,
-   enum dce_version dce_version_minor,
+   enum dce_version dce_version,
+   enum dce_environment dce_environment,
struct dc_context *ctx)
 {
struct gpio_service *service;
@@ -67,14 +67,14 @@ struct gpio_service *dal_gpio_service_cr
return NULL;
}
 
-   if (!dal_hw_translate_init(&service->translate, dce_version_major,
-   dce_version_minor)) {
+   if (!dal_hw_translate_init(&service->translate, dce_version,
+   dce_environment)) {
BREAK_TO_DEBUGGER();
goto failure_1;
}
 
-   if (!dal_hw_factory_init(&service->factory, dce_version_major,
-   dce_version_minor)) {
+   if (!dal_hw_factory_init(&service->factory, dce_version,
+   dce_environment)) {
BREAK_TO_DEBUGGER();
goto failure_1;
}
--- a/drivers/gpu/drm/amd/display/include/gpio_service_interface.h
+++ b/drivers/gpu/drm/amd/display/include/gpio_service_interface.h
@@ -42,8 +42,8 @@ void dal_gpio_destroy(
struct gpio **ptr);
 
 struct gpio_service *dal_gpio_service_create(
-   enum dce_version dce_version_major,
-   enum dce_version dce_version_minor,
+   enum dce_version dce_version,
+   enum dce_environment dce_environment,
struct dc_context *ctx);
 
 struct gpio *dal_gpio_service_create_irq(


Patches currently in stable-queue which might be from lee.jo...@linaro.org are

queue-5.10/drm-amd-display-dc-gpio-gpio_service-pass-around-correct-dce_-version-environment-types.patch
queue-5.10/block-drbd-drbd_nl-make-conversion-to-enum-drbd_ret_code-explicit.patch


Patch "drm/amd/display/dc/gpio/gpio_service: Pass around correct dce_{version, environment} types" has been added to the 4.19-stable tree

2022-05-12 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/amd/display/dc/gpio/gpio_service: Pass around correct dce_{version, 
environment} types

to the 4.19-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 
drm-amd-display-dc-gpio-gpio_service-pass-around-correct-dce_-version-environment-types.patch
and it can be found in the queue-4.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 353f7f3a9dd5fd2833b6462bac89ec1654c9c3aa Mon Sep 17 00:00:00 2001
From: Lee Jones 
Date: Wed, 26 May 2021 09:47:06 +0100
Subject: drm/amd/display/dc/gpio/gpio_service: Pass around correct 
dce_{version, environment} types
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lee Jones 

commit 353f7f3a9dd5fd2833b6462bac89ec1654c9c3aa upstream.

Fixes the following W=1 kernel build warning(s):

 drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.c: In function 
‘dal_gpio_service_create’:
 drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.c:71:4: warning: 
implicit conversion from ‘enum dce_version’ to ‘enum dce_environment’ 
[-Wenum-conversion]
 drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.c:77:4: warning: 
implicit conversion from ‘enum dce_version’ to ‘enum dce_environment’ 
[-Wenum-conversion]

Cc: Harry Wentland 
Cc: Leo Li 
Cc: Alex Deucher 
Cc: "Christian König" 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: amd-...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones 
Signed-off-by: Alex Deucher 
Cc: Nathan Chancellor 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c   |   12 +--
 drivers/gpu/drm/amd/display/include/gpio_service_interface.h |4 +--
 2 files changed, 8 insertions(+), 8 deletions(-)

--- a/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c
+++ b/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c
@@ -51,8 +51,8 @@
  */
 
 struct gpio_service *dal_gpio_service_create(
-   enum dce_version dce_version_major,
-   enum dce_version dce_version_minor,
+   enum dce_version dce_version,
+   enum dce_environment dce_environment,
struct dc_context *ctx)
 {
struct gpio_service *service;
@@ -66,14 +66,14 @@ struct gpio_service *dal_gpio_service_cr
return NULL;
}
 
-   if (!dal_hw_translate_init(&service->translate, dce_version_major,
-   dce_version_minor)) {
+   if (!dal_hw_translate_init(&service->translate, dce_version,
+   dce_environment)) {
BREAK_TO_DEBUGGER();
goto failure_1;
}
 
-   if (!dal_hw_factory_init(&service->factory, dce_version_major,
-   dce_version_minor)) {
+   if (!dal_hw_factory_init(&service->factory, dce_version,
+   dce_environment)) {
BREAK_TO_DEBUGGER();
goto failure_1;
}
--- a/drivers/gpu/drm/amd/display/include/gpio_service_interface.h
+++ b/drivers/gpu/drm/amd/display/include/gpio_service_interface.h
@@ -42,8 +42,8 @@ void dal_gpio_destroy(
struct gpio **ptr);
 
 struct gpio_service *dal_gpio_service_create(
-   enum dce_version dce_version_major,
-   enum dce_version dce_version_minor,
+   enum dce_version dce_version,
+   enum dce_environment dce_environment,
struct dc_context *ctx);
 
 struct gpio *dal_gpio_service_create_irq(


Patches currently in stable-queue which might be from lee.jo...@linaro.org are

queue-4.19/drm-amd-display-dc-gpio-gpio_service-pass-around-correct-dce_-version-environment-types.patch
queue-4.19/block-drbd-drbd_nl-make-conversion-to-enum-drbd_ret_code-explicit.patch


Patch "drm/amd/display/dc/gpio/gpio_service: Pass around correct dce_{version, environment} types" has been added to the 5.4-stable tree

2022-05-12 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/amd/display/dc/gpio/gpio_service: Pass around correct dce_{version, 
environment} types

to the 5.4-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 
drm-amd-display-dc-gpio-gpio_service-pass-around-correct-dce_-version-environment-types.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 353f7f3a9dd5fd2833b6462bac89ec1654c9c3aa Mon Sep 17 00:00:00 2001
From: Lee Jones 
Date: Wed, 26 May 2021 09:47:06 +0100
Subject: drm/amd/display/dc/gpio/gpio_service: Pass around correct 
dce_{version, environment} types
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lee Jones 

commit 353f7f3a9dd5fd2833b6462bac89ec1654c9c3aa upstream.

Fixes the following W=1 kernel build warning(s):

 drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.c: In function 
‘dal_gpio_service_create’:
 drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.c:71:4: warning: 
implicit conversion from ‘enum dce_version’ to ‘enum dce_environment’ 
[-Wenum-conversion]
 drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.c:77:4: warning: 
implicit conversion from ‘enum dce_version’ to ‘enum dce_environment’ 
[-Wenum-conversion]

Cc: Harry Wentland 
Cc: Leo Li 
Cc: Alex Deucher 
Cc: "Christian König" 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: amd-...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones 
Signed-off-by: Alex Deucher 
Cc: Nathan Chancellor 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c   |   12 +--
 drivers/gpu/drm/amd/display/include/gpio_service_interface.h |4 +--
 2 files changed, 8 insertions(+), 8 deletions(-)

--- a/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c
+++ b/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c
@@ -53,8 +53,8 @@
  */
 
 struct gpio_service *dal_gpio_service_create(
-   enum dce_version dce_version_major,
-   enum dce_version dce_version_minor,
+   enum dce_version dce_version,
+   enum dce_environment dce_environment,
struct dc_context *ctx)
 {
struct gpio_service *service;
@@ -67,14 +67,14 @@ struct gpio_service *dal_gpio_service_cr
return NULL;
}
 
-   if (!dal_hw_translate_init(&service->translate, dce_version_major,
-   dce_version_minor)) {
+   if (!dal_hw_translate_init(&service->translate, dce_version,
+   dce_environment)) {
BREAK_TO_DEBUGGER();
goto failure_1;
}
 
-   if (!dal_hw_factory_init(&service->factory, dce_version_major,
-   dce_version_minor)) {
+   if (!dal_hw_factory_init(&service->factory, dce_version,
+   dce_environment)) {
BREAK_TO_DEBUGGER();
goto failure_1;
}
--- a/drivers/gpu/drm/amd/display/include/gpio_service_interface.h
+++ b/drivers/gpu/drm/amd/display/include/gpio_service_interface.h
@@ -42,8 +42,8 @@ void dal_gpio_destroy(
struct gpio **ptr);
 
 struct gpio_service *dal_gpio_service_create(
-   enum dce_version dce_version_major,
-   enum dce_version dce_version_minor,
+   enum dce_version dce_version,
+   enum dce_environment dce_environment,
struct dc_context *ctx);
 
 struct gpio *dal_gpio_service_create_irq(


Patches currently in stable-queue which might be from lee.jo...@linaro.org are

queue-5.4/drm-amd-display-dc-gpio-gpio_service-pass-around-correct-dce_-version-environment-types.patch
queue-5.4/block-drbd-drbd_nl-make-conversion-to-enum-drbd_ret_code-explicit.patch


Patch "drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB" has been added to the 5.17-stable tree

2022-04-02 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB

to the 5.17-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-fb-helper-mark-screen-buffers-in-system-memory-with-fbinfo_virtfb.patch
and it can be found in the queue-5.17 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From cd9f7f7ac5932129fe81b4c7559cfcb226ec7c5c Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Tue, 1 Feb 2022 12:53:05 +0100
Subject: drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB

From: Thomas Zimmermann 

commit cd9f7f7ac5932129fe81b4c7559cfcb226ec7c5c upstream.

Mark screen buffers in system memory with FBINFO_VIRTFB. Otherwise, fbdev
deferred I/O marks mmap'ed areas of system memory with VM_IO. (There's an
inverse relationship between the two flags.)

For shadow buffers, also set the FBINFO_READS_FAST hint.

v3:
* change FB_ to FBINFO_ in commit description
v2:
* updated commit description (Daniel)
* added Fixes tag

Signed-off-by: Thomas Zimmermann 
Fixes: d536540f304c ("drm/fb-helper: Add generic fbdev emulation .fb_probe 
function")
Reviewed-by: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v4.19+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220201115305.9333-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_fb_helper.c |9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -2346,6 +2346,7 @@ static int drm_fb_helper_generic_probe(s
fbi->fbops = &drm_fbdev_fb_ops;
fbi->screen_size = sizes->surface_height * fb->pitches[0];
fbi->fix.smem_len = fbi->screen_size;
+   fbi->flags = FBINFO_DEFAULT;
 
drm_fb_helper_fill_info(fbi, fb_helper, sizes);
 
@@ -2353,19 +2354,21 @@ static int drm_fb_helper_generic_probe(s
fbi->screen_buffer = vzalloc(fbi->screen_size);
if (!fbi->screen_buffer)
return -ENOMEM;
+   fbi->flags |= FBINFO_VIRTFB | FBINFO_READS_FAST;
 
fbi->fbdefio = &drm_fbdev_defio;
-
fb_deferred_io_init(fbi);
} else {
/* buffer is mapped for HW framebuffer */
ret = drm_client_buffer_vmap(fb_helper->buffer, &map);
if (ret)
return ret;
-   if (map.is_iomem)
+   if (map.is_iomem) {
fbi->screen_base = map.vaddr_iomem;
-   else
+   } else {
fbi->screen_buffer = map.vaddr;
+   fbi->flags |= FBINFO_VIRTFB;
+   }
 
/*
 * Shamelessly leak the physical address to user-space. As


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.17/fbdev-hot-unplug-firmware-fb-devices-on-forced-removal.patch
queue-5.17/drm-fb-helper-mark-screen-buffers-in-system-memory-with-fbinfo_virtfb.patch
queue-5.17/drm-simpledrm-add-panel-orientation-property-on-non-upright-mounted-lcd-panels.patch
queue-5.17/mgag200-fix-memmapsl-configuration-in-gctl6-register.patch


Patch "drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB" has been added to the 5.15-stable tree

2022-04-02 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-fb-helper-mark-screen-buffers-in-system-memory-with-fbinfo_virtfb.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From cd9f7f7ac5932129fe81b4c7559cfcb226ec7c5c Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Tue, 1 Feb 2022 12:53:05 +0100
Subject: drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB

From: Thomas Zimmermann 

commit cd9f7f7ac5932129fe81b4c7559cfcb226ec7c5c upstream.

Mark screen buffers in system memory with FBINFO_VIRTFB. Otherwise, fbdev
deferred I/O marks mmap'ed areas of system memory with VM_IO. (There's an
inverse relationship between the two flags.)

For shadow buffers, also set the FBINFO_READS_FAST hint.

v3:
* change FB_ to FBINFO_ in commit description
v2:
* updated commit description (Daniel)
* added Fixes tag

Signed-off-by: Thomas Zimmermann 
Fixes: d536540f304c ("drm/fb-helper: Add generic fbdev emulation .fb_probe 
function")
Reviewed-by: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v4.19+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220201115305.9333-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_fb_helper.c |9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -2346,6 +2346,7 @@ static int drm_fb_helper_generic_probe(s
fbi->fbops = &drm_fbdev_fb_ops;
fbi->screen_size = fb->height * fb->pitches[0];
fbi->fix.smem_len = fbi->screen_size;
+   fbi->flags = FBINFO_DEFAULT;
 
drm_fb_helper_fill_info(fbi, fb_helper, sizes);
 
@@ -2353,19 +2354,21 @@ static int drm_fb_helper_generic_probe(s
fbi->screen_buffer = vzalloc(fbi->screen_size);
if (!fbi->screen_buffer)
return -ENOMEM;
+   fbi->flags |= FBINFO_VIRTFB | FBINFO_READS_FAST;
 
fbi->fbdefio = &drm_fbdev_defio;
-
fb_deferred_io_init(fbi);
} else {
/* buffer is mapped for HW framebuffer */
ret = drm_client_buffer_vmap(fb_helper->buffer, &map);
if (ret)
return ret;
-   if (map.is_iomem)
+   if (map.is_iomem) {
fbi->screen_base = map.vaddr_iomem;
-   else
+   } else {
fbi->screen_buffer = map.vaddr;
+   fbi->flags |= FBINFO_VIRTFB;
+   }
 
/*
 * Shamelessly leak the physical address to user-space. As


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.15/fbdev-hot-unplug-firmware-fb-devices-on-forced-removal.patch
queue-5.15/drm-fb-helper-mark-screen-buffers-in-system-memory-with-fbinfo_virtfb.patch
queue-5.15/drm-simpledrm-add-panel-orientation-property-on-non-upright-mounted-lcd-panels.patch
queue-5.15/mgag200-fix-memmapsl-configuration-in-gctl6-register.patch


Patch "drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB" has been added to the 5.16-stable tree

2022-04-02 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB

to the 5.16-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-fb-helper-mark-screen-buffers-in-system-memory-with-fbinfo_virtfb.patch
and it can be found in the queue-5.16 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From cd9f7f7ac5932129fe81b4c7559cfcb226ec7c5c Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Tue, 1 Feb 2022 12:53:05 +0100
Subject: drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB

From: Thomas Zimmermann 

commit cd9f7f7ac5932129fe81b4c7559cfcb226ec7c5c upstream.

Mark screen buffers in system memory with FBINFO_VIRTFB. Otherwise, fbdev
deferred I/O marks mmap'ed areas of system memory with VM_IO. (There's an
inverse relationship between the two flags.)

For shadow buffers, also set the FBINFO_READS_FAST hint.

v3:
* change FB_ to FBINFO_ in commit description
v2:
* updated commit description (Daniel)
* added Fixes tag

Signed-off-by: Thomas Zimmermann 
Fixes: d536540f304c ("drm/fb-helper: Add generic fbdev emulation .fb_probe 
function")
Reviewed-by: Daniel Vetter 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v4.19+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220201115305.9333-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/drm_fb_helper.c |9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -2346,6 +2346,7 @@ static int drm_fb_helper_generic_probe(s
fbi->fbops = &drm_fbdev_fb_ops;
fbi->screen_size = fb->height * fb->pitches[0];
fbi->fix.smem_len = fbi->screen_size;
+   fbi->flags = FBINFO_DEFAULT;
 
drm_fb_helper_fill_info(fbi, fb_helper, sizes);
 
@@ -2353,19 +2354,21 @@ static int drm_fb_helper_generic_probe(s
fbi->screen_buffer = vzalloc(fbi->screen_size);
if (!fbi->screen_buffer)
return -ENOMEM;
+   fbi->flags |= FBINFO_VIRTFB | FBINFO_READS_FAST;
 
fbi->fbdefio = &drm_fbdev_defio;
-
fb_deferred_io_init(fbi);
} else {
/* buffer is mapped for HW framebuffer */
ret = drm_client_buffer_vmap(fb_helper->buffer, &map);
if (ret)
return ret;
-   if (map.is_iomem)
+   if (map.is_iomem) {
fbi->screen_base = map.vaddr_iomem;
-   else
+   } else {
fbi->screen_buffer = map.vaddr;
+   fbi->flags |= FBINFO_VIRTFB;
+   }
 
/*
 * Shamelessly leak the physical address to user-space. As


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.16/fbdev-hot-unplug-firmware-fb-devices-on-forced-removal.patch
queue-5.16/drm-fb-helper-mark-screen-buffers-in-system-memory-with-fbinfo_virtfb.patch
queue-5.16/drm-simpledrm-add-panel-orientation-property-on-non-upright-mounted-lcd-panels.patch
queue-5.16/mgag200-fix-memmapsl-configuration-in-gctl6-register.patch


Patch "drm/dp: Fix off-by-one in register cache size" has been added to the 5.15-stable tree

2022-04-02 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp: Fix off-by-one in register cache size

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-dp-fix-off-by-one-in-register-cache-size.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From d4da1f27396fb1dde079447a3612f4f512caed07 Mon Sep 17 00:00:00 2001
From: Kees Cook 
Date: Thu, 24 Feb 2022 19:56:09 -0800
Subject: drm/dp: Fix off-by-one in register cache size

From: Kees Cook 

commit d4da1f27396fb1dde079447a3612f4f512caed07 upstream.

The pcon_dsc_dpcd array holds 13 registers (0x92 through 0x9E). Fix the
math to calculate the max size. Found from a -Warray-bounds build:

drivers/gpu/drm/drm_dp_helper.c: In function 'drm_dp_pcon_dsc_bpp_incr':
drivers/gpu/drm/drm_dp_helper.c:3130:28: error: array subscript 12 is outside 
array bounds of 'const u8[12]' {aka 'const unsigned char[12]'} 
[-Werror=array-bounds]
 3130 | buf = pcon_dsc_dpcd[DP_PCON_DSC_BPP_INCR - DP_PCON_DSC_ENCODER];
  |   ~^~~~
drivers/gpu/drm/drm_dp_helper.c:3126:39: note: while referencing 'pcon_dsc_dpcd'
 3126 | int drm_dp_pcon_dsc_bpp_incr(const u8 
pcon_dsc_dpcd[DP_PCON_DSC_ENCODER_CAP_SIZE])
  |  
~^~~

Cc: Daniel Vetter 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: David Airlie 
Cc: dri-devel@lists.freedesktop.org
Fixes: e2e16da398d9 ("drm/dp_helper: Add support for Configuring DSC for 
HDMI2.1 Pcon")
Cc: sta...@vger.kernel.org
Reviewed-by: Gustavo A. R. Silva 
Link: https://lore.kernel.org/lkml/20211214001849.GA62559@embeddedor/
Signed-off-by: Kees Cook 
Link: https://lore.kernel.org/r/20220105173310.2420598-1-keesc...@chromium.org
Signed-off-by: Thierry Reding 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220225035610.2552144-2-keesc...@chromium.org
Signed-off-by: Greg Kroah-Hartman 
---
 include/drm/drm_dp_helper.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -455,7 +455,7 @@ struct drm_panel;
 # define DP_FEC_BIT_ERROR_COUNT_CAP(1 << 3)
 
 /* DP-HDMI2.1 PCON DSC ENCODER SUPPORT */
-#define DP_PCON_DSC_ENCODER_CAP_SIZE0xC/* 0x9E - 0x92 */
+#define DP_PCON_DSC_ENCODER_CAP_SIZE0xD/* 0x92 through 0x9E */
 #define DP_PCON_DSC_ENCODER 0x092
 # define DP_PCON_DSC_ENCODER_SUPPORTED  (1 << 0)
 # define DP_PCON_DSC_PPS_ENC_OVERRIDE   (1 << 1)


Patches currently in stable-queue which might be from keesc...@chromium.org are

queue-5.15/stack-constrain-and-fix-stack-offset-randomization-w.patch
queue-5.15/coredump-also-dump-first-pages-of-non-executable-elf-libraries.patch
queue-5.15/selftests-lkdtm-add-ubsan-config.patch
queue-5.15/fs-binfmt_elf-fix-at_phdr-for-unusual-elf-files.patch
queue-5.15/gcc-plugins-stackleak-exactly-match-strings-instead-.patch
queue-5.15/exec-force-single-empty-string-when-argv-is-empty.patch
queue-5.15/drm-dp-fix-off-by-one-in-register-cache-size.patch
queue-5.15/pstore-don-t-use-semaphores-in-always-atomic-context-code.patch


Patch "drm/dp: Fix off-by-one in register cache size" has been added to the 5.16-stable tree

2022-04-02 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp: Fix off-by-one in register cache size

to the 5.16-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-dp-fix-off-by-one-in-register-cache-size.patch
and it can be found in the queue-5.16 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From d4da1f27396fb1dde079447a3612f4f512caed07 Mon Sep 17 00:00:00 2001
From: Kees Cook 
Date: Thu, 24 Feb 2022 19:56:09 -0800
Subject: drm/dp: Fix off-by-one in register cache size

From: Kees Cook 

commit d4da1f27396fb1dde079447a3612f4f512caed07 upstream.

The pcon_dsc_dpcd array holds 13 registers (0x92 through 0x9E). Fix the
math to calculate the max size. Found from a -Warray-bounds build:

drivers/gpu/drm/drm_dp_helper.c: In function 'drm_dp_pcon_dsc_bpp_incr':
drivers/gpu/drm/drm_dp_helper.c:3130:28: error: array subscript 12 is outside 
array bounds of 'const u8[12]' {aka 'const unsigned char[12]'} 
[-Werror=array-bounds]
 3130 | buf = pcon_dsc_dpcd[DP_PCON_DSC_BPP_INCR - DP_PCON_DSC_ENCODER];
  |   ~^~~~
drivers/gpu/drm/drm_dp_helper.c:3126:39: note: while referencing 'pcon_dsc_dpcd'
 3126 | int drm_dp_pcon_dsc_bpp_incr(const u8 
pcon_dsc_dpcd[DP_PCON_DSC_ENCODER_CAP_SIZE])
  |  
~^~~

Cc: Daniel Vetter 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: David Airlie 
Cc: dri-devel@lists.freedesktop.org
Fixes: e2e16da398d9 ("drm/dp_helper: Add support for Configuring DSC for 
HDMI2.1 Pcon")
Cc: sta...@vger.kernel.org
Reviewed-by: Gustavo A. R. Silva 
Link: https://lore.kernel.org/lkml/20211214001849.GA62559@embeddedor/
Signed-off-by: Kees Cook 
Link: https://lore.kernel.org/r/20220105173310.2420598-1-keesc...@chromium.org
Signed-off-by: Thierry Reding 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220225035610.2552144-2-keesc...@chromium.org
Signed-off-by: Greg Kroah-Hartman 
---
 include/drm/drm_dp_helper.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -456,7 +456,7 @@ struct drm_panel;
 #define DP_FEC_CAPABILITY_10x091   /* 2.0 */
 
 /* DP-HDMI2.1 PCON DSC ENCODER SUPPORT */
-#define DP_PCON_DSC_ENCODER_CAP_SIZE0xC/* 0x9E - 0x92 */
+#define DP_PCON_DSC_ENCODER_CAP_SIZE0xD/* 0x92 through 0x9E */
 #define DP_PCON_DSC_ENCODER 0x092
 # define DP_PCON_DSC_ENCODER_SUPPORTED  (1 << 0)
 # define DP_PCON_DSC_PPS_ENC_OVERRIDE   (1 << 1)


Patches currently in stable-queue which might be from keesc...@chromium.org are

queue-5.16/stack-constrain-and-fix-stack-offset-randomization-w.patch
queue-5.16/coredump-also-dump-first-pages-of-non-executable-elf-libraries.patch
queue-5.16/selftests-lkdtm-add-ubsan-config.patch
queue-5.16/fs-binfmt_elf-fix-at_phdr-for-unusual-elf-files.patch
queue-5.16/media-omap3isp-use-struct_group-for-memcpy-region.patch
queue-5.16/gcc-plugins-stackleak-exactly-match-strings-instead-.patch
queue-5.16/exec-force-single-empty-string-when-argv-is-empty.patch
queue-5.16/drm-dp-fix-off-by-one-in-register-cache-size.patch
queue-5.16/pstore-don-t-use-semaphores-in-always-atomic-context-code.patch


Patch "drm/dp: Fix off-by-one in register cache size" has been added to the 5.17-stable tree

2022-04-02 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/dp: Fix off-by-one in register cache size

to the 5.17-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-dp-fix-off-by-one-in-register-cache-size.patch
and it can be found in the queue-5.17 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From d4da1f27396fb1dde079447a3612f4f512caed07 Mon Sep 17 00:00:00 2001
From: Kees Cook 
Date: Thu, 24 Feb 2022 19:56:09 -0800
Subject: drm/dp: Fix off-by-one in register cache size

From: Kees Cook 

commit d4da1f27396fb1dde079447a3612f4f512caed07 upstream.

The pcon_dsc_dpcd array holds 13 registers (0x92 through 0x9E). Fix the
math to calculate the max size. Found from a -Warray-bounds build:

drivers/gpu/drm/drm_dp_helper.c: In function 'drm_dp_pcon_dsc_bpp_incr':
drivers/gpu/drm/drm_dp_helper.c:3130:28: error: array subscript 12 is outside 
array bounds of 'const u8[12]' {aka 'const unsigned char[12]'} 
[-Werror=array-bounds]
 3130 | buf = pcon_dsc_dpcd[DP_PCON_DSC_BPP_INCR - DP_PCON_DSC_ENCODER];
  |   ~^~~~
drivers/gpu/drm/drm_dp_helper.c:3126:39: note: while referencing 'pcon_dsc_dpcd'
 3126 | int drm_dp_pcon_dsc_bpp_incr(const u8 
pcon_dsc_dpcd[DP_PCON_DSC_ENCODER_CAP_SIZE])
  |  
~^~~

Cc: Daniel Vetter 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: David Airlie 
Cc: dri-devel@lists.freedesktop.org
Fixes: e2e16da398d9 ("drm/dp_helper: Add support for Configuring DSC for 
HDMI2.1 Pcon")
Cc: sta...@vger.kernel.org
Reviewed-by: Gustavo A. R. Silva 
Link: https://lore.kernel.org/lkml/20211214001849.GA62559@embeddedor/
Signed-off-by: Kees Cook 
Link: https://lore.kernel.org/r/20220105173310.2420598-1-keesc...@chromium.org
Signed-off-by: Thierry Reding 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220225035610.2552144-2-keesc...@chromium.org
Signed-off-by: Greg Kroah-Hartman 
---
 include/drm/drm_dp_helper.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -456,7 +456,7 @@ struct drm_panel;
 #define DP_FEC_CAPABILITY_10x091   /* 2.0 */
 
 /* DP-HDMI2.1 PCON DSC ENCODER SUPPORT */
-#define DP_PCON_DSC_ENCODER_CAP_SIZE0xC/* 0x9E - 0x92 */
+#define DP_PCON_DSC_ENCODER_CAP_SIZE0xD/* 0x92 through 0x9E */
 #define DP_PCON_DSC_ENCODER 0x092
 # define DP_PCON_DSC_ENCODER_SUPPORTED  (1 << 0)
 # define DP_PCON_DSC_PPS_ENC_OVERRIDE   (1 << 1)


Patches currently in stable-queue which might be from keesc...@chromium.org are

queue-5.17/stack-constrain-and-fix-stack-offset-randomization-w.patch
queue-5.17/coredump-also-dump-first-pages-of-non-executable-elf-libraries.patch
queue-5.17/selftests-lkdtm-add-ubsan-config.patch
queue-5.17/fs-binfmt_elf-fix-at_phdr-for-unusual-elf-files.patch
queue-5.17/media-omap3isp-use-struct_group-for-memcpy-region.patch
queue-5.17/gcc-plugins-stackleak-exactly-match-strings-instead-.patch
queue-5.17/exec-force-single-empty-string-when-argv-is-empty.patch
queue-5.17/drm-dp-fix-off-by-one-in-register-cache-size.patch
queue-5.17/pstore-don-t-use-semaphores-in-always-atomic-context-code.patch
queue-5.17/drm-dp-fix-oob-read-when-handling-post-cursor2-regis.patch


Patch "fbdev: Fix unregistering of framebuffers without device" has been added to the 5.15-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

fbdev: Fix unregistering of framebuffers without device

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 fbdev-fix-unregistering-of-framebuffers-without-device.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 0f525289ff0ddeb380813bd81e0f9bdaaa1c9078 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Mon, 4 Apr 2022 21:44:02 +0200
Subject: fbdev: Fix unregistering of framebuffers without device

From: Thomas Zimmermann 

commit 0f525289ff0ddeb380813bd81e0f9bdaaa1c9078 upstream.

OF framebuffers do not have an underlying device in the Linux
device hierarchy. Do a regular unregister call instead of hot
unplugging such a non-existing device. Fixes a NULL dereference.
An example error message on ppc64le is shown below.

  BUG: Kernel NULL pointer dereference on read at 0x0060
  Faulting instruction address: 0xc080dfa4
  Oops: Kernel access of bad area, sig: 11 [#1]
  LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
  [...]
  CPU: 2 PID: 139 Comm: systemd-udevd Not tainted 5.17.0-ae085d7f9365 #1
  NIP:  c080dfa4 LR: c080df9c CTR: c0797430
  REGS: c4132fe0 TRAP: 0300   Not tainted  (5.17.0-ae085d7f9365)
  MSR:  82009033   CR: 28228282  XER: 2000
  CFAR: c000c80c DAR: 0060 DSISR: 4000 IRQMASK: 0
  GPR00: c080df9c c4133280 c169d200 0029
  GPR04: efff c4132f90 c4132f88 
  GPR08: c15658f8 c15cd200 c14f57d0 48228283
  GPR12:  c0003fffe300 2000 
  GPR16:  000113fc4a40 0005 000113fcfb80
  GPR20: 01000f7283b0  c0e4a588 c0e4a5b0
  GPR24: 0001 000a c00800db0168 c21f6ec0
  GPR28: c16d65a8 c4b36460  c16d64b0
  NIP [c080dfa4] do_remove_conflicting_framebuffers+0x184/0x1d0
  [c4133280] [c080df9c] 
do_remove_conflicting_framebuffers+0x17c/0x1d0 (unreliable)
  [c4133350] [c080e4d0] 
remove_conflicting_framebuffers+0x60/0x150
  [c41333a0] [c080e6f4] 
remove_conflicting_pci_framebuffers+0x134/0x1b0
  [c4133450] [c00800e70438] 
drm_aperture_remove_conflicting_pci_framebuffers+0x90/0x100 [drm]
  [c4133490] [c00800da0ce4] bochs_pci_probe+0x6c/0xa64 [bochs]
  [...]
  [c4133db0] [c002aaa0] system_call_exception+0x170/0x2d0
  [c4133e10] [c000c3cc] system_call_common+0xec/0x250

The bug [1] was introduced by commit 27599aacbaef ("fbdev: Hot-unplug
firmware fb devices on forced removal"). Most firmware framebuffers
have an underlying platform device, which can be hot-unplugged
before loading the native graphics driver. OF framebuffers do not
(yet) have that device. Fix the code by unregistering the framebuffer
as before without a hot unplug.

Tested with 5.17 on qemu ppc64le emulation.

Signed-off-by: Thomas Zimmermann 
Fixes: 27599aacbaef ("fbdev: Hot-unplug firmware fb devices on forced removal")
Reported-by: Sudip Mukherjee 
Reviewed-by: Daniel Vetter 
Reviewed-by: Javier Martinez Canillas 
Tested-by: Sudip Mukherjee 
Cc: Zack Rusin 
Cc: Javier Martinez Canillas 
Cc: Hans de Goede 
Cc: sta...@vger.kernel.org # v5.11+
Cc: Helge Deller 
Cc: Daniel Vetter 
Cc: Sam Ravnborg 
Cc: Zheyu Ma 
Cc: Xiyu Yang 
Cc: Zhen Lei 
Cc: Matthew Wilcox 
Cc: Alex Deucher 
Cc: Tetsuo Handa 
Cc: Guenter Roeck 
Cc: linux-fb...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Link: https://lore.kernel.org/all/YkHXO6LGHAN0p1pq@debian/ # [1]
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220404194402.29974-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/video/fbdev/core/fbmem.c |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
@@ -1581,7 +1581,14 @@ static void do_remove_conflicting_frameb
 * If it's not a platform device, at least print a 
warning. A
 * fix would add code to remove the device from the 
system.
 */
-   if (dev_is_platform(device)) {
+   if (!device) {
+   /* TODO: Represent each OF framebuffer as its 
own
+* device in the device hierarchy. For now, offb
+* doesn't have such a device, so unregister the
+* framebuffer as before without warning.
+*/
+ 

Patch "fbdev: Fix unregistering of framebuffers without device" has been added to the 5.16-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

fbdev: Fix unregistering of framebuffers without device

to the 5.16-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 fbdev-fix-unregistering-of-framebuffers-without-device.patch
and it can be found in the queue-5.16 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 0f525289ff0ddeb380813bd81e0f9bdaaa1c9078 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Mon, 4 Apr 2022 21:44:02 +0200
Subject: fbdev: Fix unregistering of framebuffers without device

From: Thomas Zimmermann 

commit 0f525289ff0ddeb380813bd81e0f9bdaaa1c9078 upstream.

OF framebuffers do not have an underlying device in the Linux
device hierarchy. Do a regular unregister call instead of hot
unplugging such a non-existing device. Fixes a NULL dereference.
An example error message on ppc64le is shown below.

  BUG: Kernel NULL pointer dereference on read at 0x0060
  Faulting instruction address: 0xc080dfa4
  Oops: Kernel access of bad area, sig: 11 [#1]
  LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
  [...]
  CPU: 2 PID: 139 Comm: systemd-udevd Not tainted 5.17.0-ae085d7f9365 #1
  NIP:  c080dfa4 LR: c080df9c CTR: c0797430
  REGS: c4132fe0 TRAP: 0300   Not tainted  (5.17.0-ae085d7f9365)
  MSR:  82009033   CR: 28228282  XER: 2000
  CFAR: c000c80c DAR: 0060 DSISR: 4000 IRQMASK: 0
  GPR00: c080df9c c4133280 c169d200 0029
  GPR04: efff c4132f90 c4132f88 
  GPR08: c15658f8 c15cd200 c14f57d0 48228283
  GPR12:  c0003fffe300 2000 
  GPR16:  000113fc4a40 0005 000113fcfb80
  GPR20: 01000f7283b0  c0e4a588 c0e4a5b0
  GPR24: 0001 000a c00800db0168 c21f6ec0
  GPR28: c16d65a8 c4b36460  c16d64b0
  NIP [c080dfa4] do_remove_conflicting_framebuffers+0x184/0x1d0
  [c4133280] [c080df9c] 
do_remove_conflicting_framebuffers+0x17c/0x1d0 (unreliable)
  [c4133350] [c080e4d0] 
remove_conflicting_framebuffers+0x60/0x150
  [c41333a0] [c080e6f4] 
remove_conflicting_pci_framebuffers+0x134/0x1b0
  [c4133450] [c00800e70438] 
drm_aperture_remove_conflicting_pci_framebuffers+0x90/0x100 [drm]
  [c4133490] [c00800da0ce4] bochs_pci_probe+0x6c/0xa64 [bochs]
  [...]
  [c4133db0] [c002aaa0] system_call_exception+0x170/0x2d0
  [c4133e10] [c000c3cc] system_call_common+0xec/0x250

The bug [1] was introduced by commit 27599aacbaef ("fbdev: Hot-unplug
firmware fb devices on forced removal"). Most firmware framebuffers
have an underlying platform device, which can be hot-unplugged
before loading the native graphics driver. OF framebuffers do not
(yet) have that device. Fix the code by unregistering the framebuffer
as before without a hot unplug.

Tested with 5.17 on qemu ppc64le emulation.

Signed-off-by: Thomas Zimmermann 
Fixes: 27599aacbaef ("fbdev: Hot-unplug firmware fb devices on forced removal")
Reported-by: Sudip Mukherjee 
Reviewed-by: Daniel Vetter 
Reviewed-by: Javier Martinez Canillas 
Tested-by: Sudip Mukherjee 
Cc: Zack Rusin 
Cc: Javier Martinez Canillas 
Cc: Hans de Goede 
Cc: sta...@vger.kernel.org # v5.11+
Cc: Helge Deller 
Cc: Daniel Vetter 
Cc: Sam Ravnborg 
Cc: Zheyu Ma 
Cc: Xiyu Yang 
Cc: Zhen Lei 
Cc: Matthew Wilcox 
Cc: Alex Deucher 
Cc: Tetsuo Handa 
Cc: Guenter Roeck 
Cc: linux-fb...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Link: https://lore.kernel.org/all/YkHXO6LGHAN0p1pq@debian/ # [1]
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220404194402.29974-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/video/fbdev/core/fbmem.c |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
@@ -1581,7 +1581,14 @@ static void do_remove_conflicting_frameb
 * If it's not a platform device, at least print a 
warning. A
 * fix would add code to remove the device from the 
system.
 */
-   if (dev_is_platform(device)) {
+   if (!device) {
+   /* TODO: Represent each OF framebuffer as its 
own
+* device in the device hierarchy. For now, offb
+* doesn't have such a device, so unregister the
+* framebuffer as before without warning.
+*/
+ 

Patch "fbdev: Fix unregistering of framebuffers without device" has been added to the 5.17-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

fbdev: Fix unregistering of framebuffers without device

to the 5.17-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 fbdev-fix-unregistering-of-framebuffers-without-device.patch
and it can be found in the queue-5.17 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 0f525289ff0ddeb380813bd81e0f9bdaaa1c9078 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Mon, 4 Apr 2022 21:44:02 +0200
Subject: fbdev: Fix unregistering of framebuffers without device

From: Thomas Zimmermann 

commit 0f525289ff0ddeb380813bd81e0f9bdaaa1c9078 upstream.

OF framebuffers do not have an underlying device in the Linux
device hierarchy. Do a regular unregister call instead of hot
unplugging such a non-existing device. Fixes a NULL dereference.
An example error message on ppc64le is shown below.

  BUG: Kernel NULL pointer dereference on read at 0x0060
  Faulting instruction address: 0xc080dfa4
  Oops: Kernel access of bad area, sig: 11 [#1]
  LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
  [...]
  CPU: 2 PID: 139 Comm: systemd-udevd Not tainted 5.17.0-ae085d7f9365 #1
  NIP:  c080dfa4 LR: c080df9c CTR: c0797430
  REGS: c4132fe0 TRAP: 0300   Not tainted  (5.17.0-ae085d7f9365)
  MSR:  82009033   CR: 28228282  XER: 2000
  CFAR: c000c80c DAR: 0060 DSISR: 4000 IRQMASK: 0
  GPR00: c080df9c c4133280 c169d200 0029
  GPR04: efff c4132f90 c4132f88 
  GPR08: c15658f8 c15cd200 c14f57d0 48228283
  GPR12:  c0003fffe300 2000 
  GPR16:  000113fc4a40 0005 000113fcfb80
  GPR20: 01000f7283b0  c0e4a588 c0e4a5b0
  GPR24: 0001 000a c00800db0168 c21f6ec0
  GPR28: c16d65a8 c4b36460  c16d64b0
  NIP [c080dfa4] do_remove_conflicting_framebuffers+0x184/0x1d0
  [c4133280] [c080df9c] 
do_remove_conflicting_framebuffers+0x17c/0x1d0 (unreliable)
  [c4133350] [c080e4d0] 
remove_conflicting_framebuffers+0x60/0x150
  [c41333a0] [c080e6f4] 
remove_conflicting_pci_framebuffers+0x134/0x1b0
  [c4133450] [c00800e70438] 
drm_aperture_remove_conflicting_pci_framebuffers+0x90/0x100 [drm]
  [c4133490] [c00800da0ce4] bochs_pci_probe+0x6c/0xa64 [bochs]
  [...]
  [c4133db0] [c002aaa0] system_call_exception+0x170/0x2d0
  [c4133e10] [c000c3cc] system_call_common+0xec/0x250

The bug [1] was introduced by commit 27599aacbaef ("fbdev: Hot-unplug
firmware fb devices on forced removal"). Most firmware framebuffers
have an underlying platform device, which can be hot-unplugged
before loading the native graphics driver. OF framebuffers do not
(yet) have that device. Fix the code by unregistering the framebuffer
as before without a hot unplug.

Tested with 5.17 on qemu ppc64le emulation.

Signed-off-by: Thomas Zimmermann 
Fixes: 27599aacbaef ("fbdev: Hot-unplug firmware fb devices on forced removal")
Reported-by: Sudip Mukherjee 
Reviewed-by: Daniel Vetter 
Reviewed-by: Javier Martinez Canillas 
Tested-by: Sudip Mukherjee 
Cc: Zack Rusin 
Cc: Javier Martinez Canillas 
Cc: Hans de Goede 
Cc: sta...@vger.kernel.org # v5.11+
Cc: Helge Deller 
Cc: Daniel Vetter 
Cc: Sam Ravnborg 
Cc: Zheyu Ma 
Cc: Xiyu Yang 
Cc: Zhen Lei 
Cc: Matthew Wilcox 
Cc: Alex Deucher 
Cc: Tetsuo Handa 
Cc: Guenter Roeck 
Cc: linux-fb...@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Link: https://lore.kernel.org/all/YkHXO6LGHAN0p1pq@debian/ # [1]
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220404194402.29974-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/video/fbdev/core/fbmem.c |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
@@ -1583,7 +1583,14 @@ static void do_remove_conflicting_frameb
 * If it's not a platform device, at least print a 
warning. A
 * fix would add code to remove the device from the 
system.
 */
-   if (dev_is_platform(device)) {
+   if (!device) {
+   /* TODO: Represent each OF framebuffer as its 
own
+* device in the device hierarchy. For now, offb
+* doesn't have such a device, so unregister the
+* framebuffer as before without warning.
+*/
+ 

Patch "drm/amdkfd: Create file descriptor after client is added to smi_clients list" has been added to the 5.10-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/amdkfd: Create file descriptor after client is added to smi_clients list

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 
drm-amdkfd-create-file-descriptor-after-client-is-added-to-smi_clients-list.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From e79a2398e1b2d47060474dca291542368183bc0f Mon Sep 17 00:00:00 2001
From: Lee Jones 
Date: Thu, 31 Mar 2022 13:21:17 +0100
Subject: drm/amdkfd: Create file descriptor after client is added to 
smi_clients list
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lee Jones 

commit e79a2398e1b2d47060474dca291542368183bc0f upstream.

This ensures userspace cannot prematurely clean-up the client before
it is fully initialised which has been proven to cause issues in the
past.

Cc: Felix Kuehling 
Cc: Alex Deucher 
Cc: "Christian König" 
Cc: "Pan, Xinhui" 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: amd-...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones 
Reviewed-by: Felix Kuehling 
Signed-off-by: Felix Kuehling 
Signed-off-by: Alex Deucher 
Cc: sta...@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c |   24 +++-
 1 file changed, 15 insertions(+), 9 deletions(-)

--- a/drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c
@@ -270,15 +270,6 @@ int kfd_smi_event_open(struct kfd_dev *d
return ret;
}
 
-   ret = anon_inode_getfd(kfd_smi_name, &kfd_smi_ev_fops, (void *)client,
-  O_RDWR);
-   if (ret < 0) {
-   kfifo_free(&client->fifo);
-   kfree(client);
-   return ret;
-   }
-   *fd = ret;
-
init_waitqueue_head(&client->wait_queue);
spin_lock_init(&client->lock);
client->events = 0;
@@ -288,5 +279,20 @@ int kfd_smi_event_open(struct kfd_dev *d
list_add_rcu(&client->list, &dev->smi_clients);
spin_unlock(&dev->smi_lock);
 
+   ret = anon_inode_getfd(kfd_smi_name, &kfd_smi_ev_fops, (void *)client,
+  O_RDWR);
+   if (ret < 0) {
+   spin_lock(&dev->smi_lock);
+   list_del_rcu(&client->list);
+   spin_unlock(&dev->smi_lock);
+
+   synchronize_rcu();
+
+   kfifo_free(&client->fifo);
+   kfree(client);
+   return ret;
+   }
+   *fd = ret;
+
return 0;
 }


Patches currently in stable-queue which might be from lee.jo...@linaro.org are

queue-5.10/drm-amdkfd-create-file-descriptor-after-client-is-added-to-smi_clients-list.patch


Patch "drm/nouveau/pmu: Add missing callbacks for Tegra devices" has been added to the 5.10-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/nouveau/pmu: Add missing callbacks for Tegra devices

to the 5.10-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-nouveau-pmu-add-missing-callbacks-for-tegra-devices.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 38d4e5cf5b08798f093374e53c2f4609d5382dd5 Mon Sep 17 00:00:00 2001
From: Karol Herbst 
Date: Tue, 22 Mar 2022 13:48:00 +0100
Subject: drm/nouveau/pmu: Add missing callbacks for Tegra devices

From: Karol Herbst 

commit 38d4e5cf5b08798f093374e53c2f4609d5382dd5 upstream.

Fixes a crash booting on those platforms with nouveau.

Fixes: 4cdd2450bf73 ("drm/nouveau/pmu/gm200-: use alternate falcon reset 
sequence")
Cc: Ben Skeggs 
Cc: Karol Herbst 
Cc: dri-devel@lists.freedesktop.org
Cc: nouv...@lists.freedesktop.org
Cc:  # v5.17+
Signed-off-by: Karol Herbst 
Reviewed-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220322124800.2605463-1-kher...@redhat.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c |1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c |2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c |1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h  |1 +
 4 files changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
@@ -216,6 +216,7 @@ gm20b_pmu = {
.intr = gt215_pmu_intr,
.recv = gm20b_pmu_recv,
.initmsg = gm20b_pmu_initmsg,
+   .reset = gf100_pmu_reset,
 };
 
 #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC)
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c
@@ -23,7 +23,7 @@
  */
 #include "priv.h"
 
-static void
+void
 gp102_pmu_reset(struct nvkm_pmu *pmu)
 {
struct nvkm_device *device = pmu->subdev.device;
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c
@@ -83,6 +83,7 @@ gp10b_pmu = {
.intr = gt215_pmu_intr,
.recv = gm20b_pmu_recv,
.initmsg = gm20b_pmu_initmsg,
+   .reset = gp102_pmu_reset,
 };
 
 #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC)
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h
@@ -41,6 +41,7 @@ int gt215_pmu_send(struct nvkm_pmu *, u3
 
 bool gf100_pmu_enabled(struct nvkm_pmu *);
 void gf100_pmu_reset(struct nvkm_pmu *);
+void gp102_pmu_reset(struct nvkm_pmu *pmu);
 
 void gk110_pmu_pgob(struct nvkm_pmu *, bool);
 


Patches currently in stable-queue which might be from kher...@redhat.com are

queue-5.10/drm-nouveau-pmu-add-missing-callbacks-for-tegra-devices.patch


Patch "drm/nouveau/pmu: Add missing callbacks for Tegra devices" has been added to the 5.15-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/nouveau/pmu: Add missing callbacks for Tegra devices

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-nouveau-pmu-add-missing-callbacks-for-tegra-devices.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 38d4e5cf5b08798f093374e53c2f4609d5382dd5 Mon Sep 17 00:00:00 2001
From: Karol Herbst 
Date: Tue, 22 Mar 2022 13:48:00 +0100
Subject: drm/nouveau/pmu: Add missing callbacks for Tegra devices

From: Karol Herbst 

commit 38d4e5cf5b08798f093374e53c2f4609d5382dd5 upstream.

Fixes a crash booting on those platforms with nouveau.

Fixes: 4cdd2450bf73 ("drm/nouveau/pmu/gm200-: use alternate falcon reset 
sequence")
Cc: Ben Skeggs 
Cc: Karol Herbst 
Cc: dri-devel@lists.freedesktop.org
Cc: nouv...@lists.freedesktop.org
Cc:  # v5.17+
Signed-off-by: Karol Herbst 
Reviewed-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220322124800.2605463-1-kher...@redhat.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c |1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c |2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c |1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h  |1 +
 4 files changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
@@ -216,6 +216,7 @@ gm20b_pmu = {
.intr = gt215_pmu_intr,
.recv = gm20b_pmu_recv,
.initmsg = gm20b_pmu_initmsg,
+   .reset = gf100_pmu_reset,
 };
 
 #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC)
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c
@@ -23,7 +23,7 @@
  */
 #include "priv.h"
 
-static void
+void
 gp102_pmu_reset(struct nvkm_pmu *pmu)
 {
struct nvkm_device *device = pmu->subdev.device;
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c
@@ -83,6 +83,7 @@ gp10b_pmu = {
.intr = gt215_pmu_intr,
.recv = gm20b_pmu_recv,
.initmsg = gm20b_pmu_initmsg,
+   .reset = gp102_pmu_reset,
 };
 
 #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC)
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h
@@ -41,6 +41,7 @@ int gt215_pmu_send(struct nvkm_pmu *, u3
 
 bool gf100_pmu_enabled(struct nvkm_pmu *);
 void gf100_pmu_reset(struct nvkm_pmu *);
+void gp102_pmu_reset(struct nvkm_pmu *pmu);
 
 void gk110_pmu_pgob(struct nvkm_pmu *, bool);
 


Patches currently in stable-queue which might be from kher...@redhat.com are

queue-5.15/drm-nouveau-pmu-add-missing-callbacks-for-tegra-devices.patch


Patch "drm/amdkfd: Create file descriptor after client is added to smi_clients list" has been added to the 5.15-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/amdkfd: Create file descriptor after client is added to smi_clients list

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 
drm-amdkfd-create-file-descriptor-after-client-is-added-to-smi_clients-list.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From e79a2398e1b2d47060474dca291542368183bc0f Mon Sep 17 00:00:00 2001
From: Lee Jones 
Date: Thu, 31 Mar 2022 13:21:17 +0100
Subject: drm/amdkfd: Create file descriptor after client is added to 
smi_clients list
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lee Jones 

commit e79a2398e1b2d47060474dca291542368183bc0f upstream.

This ensures userspace cannot prematurely clean-up the client before
it is fully initialised which has been proven to cause issues in the
past.

Cc: Felix Kuehling 
Cc: Alex Deucher 
Cc: "Christian König" 
Cc: "Pan, Xinhui" 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: amd-...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones 
Reviewed-by: Felix Kuehling 
Signed-off-by: Felix Kuehling 
Signed-off-by: Alex Deucher 
Cc: sta...@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c |   24 +++-
 1 file changed, 15 insertions(+), 9 deletions(-)

--- a/drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c
@@ -270,15 +270,6 @@ int kfd_smi_event_open(struct kfd_dev *d
return ret;
}
 
-   ret = anon_inode_getfd(kfd_smi_name, &kfd_smi_ev_fops, (void *)client,
-  O_RDWR);
-   if (ret < 0) {
-   kfifo_free(&client->fifo);
-   kfree(client);
-   return ret;
-   }
-   *fd = ret;
-
init_waitqueue_head(&client->wait_queue);
spin_lock_init(&client->lock);
client->events = 0;
@@ -288,5 +279,20 @@ int kfd_smi_event_open(struct kfd_dev *d
list_add_rcu(&client->list, &dev->smi_clients);
spin_unlock(&dev->smi_lock);
 
+   ret = anon_inode_getfd(kfd_smi_name, &kfd_smi_ev_fops, (void *)client,
+  O_RDWR);
+   if (ret < 0) {
+   spin_lock(&dev->smi_lock);
+   list_del_rcu(&client->list);
+   spin_unlock(&dev->smi_lock);
+
+   synchronize_rcu();
+
+   kfifo_free(&client->fifo);
+   kfree(client);
+   return ret;
+   }
+   *fd = ret;
+
return 0;
 }


Patches currently in stable-queue which might be from lee.jo...@linaro.org are

queue-5.15/drm-amdkfd-create-file-descriptor-after-client-is-added-to-smi_clients-list.patch


Patch "drm/amdkfd: Create file descriptor after client is added to smi_clients list" has been added to the 5.16-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/amdkfd: Create file descriptor after client is added to smi_clients list

to the 5.16-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 
drm-amdkfd-create-file-descriptor-after-client-is-added-to-smi_clients-list.patch
and it can be found in the queue-5.16 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From e79a2398e1b2d47060474dca291542368183bc0f Mon Sep 17 00:00:00 2001
From: Lee Jones 
Date: Thu, 31 Mar 2022 13:21:17 +0100
Subject: drm/amdkfd: Create file descriptor after client is added to 
smi_clients list
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lee Jones 

commit e79a2398e1b2d47060474dca291542368183bc0f upstream.

This ensures userspace cannot prematurely clean-up the client before
it is fully initialised which has been proven to cause issues in the
past.

Cc: Felix Kuehling 
Cc: Alex Deucher 
Cc: "Christian König" 
Cc: "Pan, Xinhui" 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: amd-...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones 
Reviewed-by: Felix Kuehling 
Signed-off-by: Felix Kuehling 
Signed-off-by: Alex Deucher 
Cc: sta...@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c |   24 +++-
 1 file changed, 15 insertions(+), 9 deletions(-)

--- a/drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c
@@ -270,15 +270,6 @@ int kfd_smi_event_open(struct kfd_dev *d
return ret;
}
 
-   ret = anon_inode_getfd(kfd_smi_name, &kfd_smi_ev_fops, (void *)client,
-  O_RDWR);
-   if (ret < 0) {
-   kfifo_free(&client->fifo);
-   kfree(client);
-   return ret;
-   }
-   *fd = ret;
-
init_waitqueue_head(&client->wait_queue);
spin_lock_init(&client->lock);
client->events = 0;
@@ -288,5 +279,20 @@ int kfd_smi_event_open(struct kfd_dev *d
list_add_rcu(&client->list, &dev->smi_clients);
spin_unlock(&dev->smi_lock);
 
+   ret = anon_inode_getfd(kfd_smi_name, &kfd_smi_ev_fops, (void *)client,
+  O_RDWR);
+   if (ret < 0) {
+   spin_lock(&dev->smi_lock);
+   list_del_rcu(&client->list);
+   spin_unlock(&dev->smi_lock);
+
+   synchronize_rcu();
+
+   kfifo_free(&client->fifo);
+   kfree(client);
+   return ret;
+   }
+   *fd = ret;
+
return 0;
 }


Patches currently in stable-queue which might be from lee.jo...@linaro.org are

queue-5.16/drm-amdkfd-create-file-descriptor-after-client-is-added-to-smi_clients-list.patch


Patch "drm/nouveau/pmu: Add missing callbacks for Tegra devices" has been added to the 5.16-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/nouveau/pmu: Add missing callbacks for Tegra devices

to the 5.16-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-nouveau-pmu-add-missing-callbacks-for-tegra-devices.patch
and it can be found in the queue-5.16 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 38d4e5cf5b08798f093374e53c2f4609d5382dd5 Mon Sep 17 00:00:00 2001
From: Karol Herbst 
Date: Tue, 22 Mar 2022 13:48:00 +0100
Subject: drm/nouveau/pmu: Add missing callbacks for Tegra devices

From: Karol Herbst 

commit 38d4e5cf5b08798f093374e53c2f4609d5382dd5 upstream.

Fixes a crash booting on those platforms with nouveau.

Fixes: 4cdd2450bf73 ("drm/nouveau/pmu/gm200-: use alternate falcon reset 
sequence")
Cc: Ben Skeggs 
Cc: Karol Herbst 
Cc: dri-devel@lists.freedesktop.org
Cc: nouv...@lists.freedesktop.org
Cc:  # v5.17+
Signed-off-by: Karol Herbst 
Reviewed-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220322124800.2605463-1-kher...@redhat.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c |1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c |2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c |1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h  |1 +
 4 files changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
@@ -216,6 +216,7 @@ gm20b_pmu = {
.intr = gt215_pmu_intr,
.recv = gm20b_pmu_recv,
.initmsg = gm20b_pmu_initmsg,
+   .reset = gf100_pmu_reset,
 };
 
 #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC)
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c
@@ -23,7 +23,7 @@
  */
 #include "priv.h"
 
-static void
+void
 gp102_pmu_reset(struct nvkm_pmu *pmu)
 {
struct nvkm_device *device = pmu->subdev.device;
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c
@@ -83,6 +83,7 @@ gp10b_pmu = {
.intr = gt215_pmu_intr,
.recv = gm20b_pmu_recv,
.initmsg = gm20b_pmu_initmsg,
+   .reset = gp102_pmu_reset,
 };
 
 #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC)
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h
@@ -41,6 +41,7 @@ int gt215_pmu_send(struct nvkm_pmu *, u3
 
 bool gf100_pmu_enabled(struct nvkm_pmu *);
 void gf100_pmu_reset(struct nvkm_pmu *);
+void gp102_pmu_reset(struct nvkm_pmu *pmu);
 
 void gk110_pmu_pgob(struct nvkm_pmu *, bool);
 


Patches currently in stable-queue which might be from kher...@redhat.com are

queue-5.16/drm-nouveau-pmu-add-missing-callbacks-for-tegra-devices.patch


Patch "drm/amdkfd: Create file descriptor after client is added to smi_clients list" has been added to the 5.17-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/amdkfd: Create file descriptor after client is added to smi_clients list

to the 5.17-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 
drm-amdkfd-create-file-descriptor-after-client-is-added-to-smi_clients-list.patch
and it can be found in the queue-5.17 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From e79a2398e1b2d47060474dca291542368183bc0f Mon Sep 17 00:00:00 2001
From: Lee Jones 
Date: Thu, 31 Mar 2022 13:21:17 +0100
Subject: drm/amdkfd: Create file descriptor after client is added to 
smi_clients list
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Lee Jones 

commit e79a2398e1b2d47060474dca291542368183bc0f upstream.

This ensures userspace cannot prematurely clean-up the client before
it is fully initialised which has been proven to cause issues in the
past.

Cc: Felix Kuehling 
Cc: Alex Deucher 
Cc: "Christian König" 
Cc: "Pan, Xinhui" 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: amd-...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones 
Reviewed-by: Felix Kuehling 
Signed-off-by: Felix Kuehling 
Signed-off-by: Alex Deucher 
Cc: sta...@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c |   24 +++-
 1 file changed, 15 insertions(+), 9 deletions(-)

--- a/drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c
@@ -268,15 +268,6 @@ int kfd_smi_event_open(struct kfd_dev *d
return ret;
}
 
-   ret = anon_inode_getfd(kfd_smi_name, &kfd_smi_ev_fops, (void *)client,
-  O_RDWR);
-   if (ret < 0) {
-   kfifo_free(&client->fifo);
-   kfree(client);
-   return ret;
-   }
-   *fd = ret;
-
init_waitqueue_head(&client->wait_queue);
spin_lock_init(&client->lock);
client->events = 0;
@@ -286,5 +277,20 @@ int kfd_smi_event_open(struct kfd_dev *d
list_add_rcu(&client->list, &dev->smi_clients);
spin_unlock(&dev->smi_lock);
 
+   ret = anon_inode_getfd(kfd_smi_name, &kfd_smi_ev_fops, (void *)client,
+  O_RDWR);
+   if (ret < 0) {
+   spin_lock(&dev->smi_lock);
+   list_del_rcu(&client->list);
+   spin_unlock(&dev->smi_lock);
+
+   synchronize_rcu();
+
+   kfifo_free(&client->fifo);
+   kfree(client);
+   return ret;
+   }
+   *fd = ret;
+
return 0;
 }


Patches currently in stable-queue which might be from lee.jo...@linaro.org are

queue-5.17/drm-amdkfd-create-file-descriptor-after-client-is-added-to-smi_clients-list.patch


Patch "drm/nouveau/pmu: Add missing callbacks for Tegra devices" has been added to the 5.17-stable tree

2022-04-11 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/nouveau/pmu: Add missing callbacks for Tegra devices

to the 5.17-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-nouveau-pmu-add-missing-callbacks-for-tegra-devices.patch
and it can be found in the queue-5.17 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From 38d4e5cf5b08798f093374e53c2f4609d5382dd5 Mon Sep 17 00:00:00 2001
From: Karol Herbst 
Date: Tue, 22 Mar 2022 13:48:00 +0100
Subject: drm/nouveau/pmu: Add missing callbacks for Tegra devices

From: Karol Herbst 

commit 38d4e5cf5b08798f093374e53c2f4609d5382dd5 upstream.

Fixes a crash booting on those platforms with nouveau.

Fixes: 4cdd2450bf73 ("drm/nouveau/pmu/gm200-: use alternate falcon reset 
sequence")
Cc: Ben Skeggs 
Cc: Karol Herbst 
Cc: dri-devel@lists.freedesktop.org
Cc: nouv...@lists.freedesktop.org
Cc:  # v5.17+
Signed-off-by: Karol Herbst 
Reviewed-by: Lyude Paul 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20220322124800.2605463-1-kher...@redhat.com
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c |1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c |2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c |1 +
 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h  |1 +
 4 files changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
@@ -216,6 +216,7 @@ gm20b_pmu = {
.intr = gt215_pmu_intr,
.recv = gm20b_pmu_recv,
.initmsg = gm20b_pmu_initmsg,
+   .reset = gf100_pmu_reset,
 };
 
 #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC)
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.c
@@ -23,7 +23,7 @@
  */
 #include "priv.h"
 
-static void
+void
 gp102_pmu_reset(struct nvkm_pmu *pmu)
 {
struct nvkm_device *device = pmu->subdev.device;
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c
@@ -83,6 +83,7 @@ gp10b_pmu = {
.intr = gt215_pmu_intr,
.recv = gm20b_pmu_recv,
.initmsg = gm20b_pmu_initmsg,
+   .reset = gp102_pmu_reset,
 };
 
 #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC)
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h
@@ -41,6 +41,7 @@ int gt215_pmu_send(struct nvkm_pmu *, u3
 
 bool gf100_pmu_enabled(struct nvkm_pmu *);
 void gf100_pmu_reset(struct nvkm_pmu *);
+void gp102_pmu_reset(struct nvkm_pmu *pmu);
 
 void gk110_pmu_pgob(struct nvkm_pmu *, bool);
 


Patches currently in stable-queue which might be from kher...@redhat.com are

queue-5.17/drm-nouveau-pmu-add-missing-callbacks-for-tegra-devices.patch


Patch "drm/amd/display: fix memory leak when using debugfs_lookup()" has been added to the 5.15-stable tree

2022-09-09 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/amd/display: fix memory leak when using debugfs_lookup()

to the 5.15-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-amd-display-fix-memory-leak-when-using-debugfs_lookup.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From cbfac7fa491651c57926c99edeb7495c6c1aeac2 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman 
Date: Fri, 2 Sep 2022 15:01:05 +0200
Subject: drm/amd/display: fix memory leak when using debugfs_lookup()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Greg Kroah-Hartman 

commit cbfac7fa491651c57926c99edeb7495c6c1aeac2 upstream.

When calling debugfs_lookup() the result must have dput() called on it,
otherwise the memory will leak over time.  Fix this up by properly
calling dput().

Cc: Harry Wentland 
Cc: Leo Li 
Cc: Rodrigo Siqueira 
Cc: Alex Deucher 
Cc: "Christian König" 
Cc: "Pan, Xinhui" 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: Wayne Lin 
Cc: hersen wu 
Cc: Wenjing Liu 
Cc: Patrik Jakobsson 
Cc: Thelford Williams 
Cc: Fangzhi Zuo 
Cc: Yongzhi Liu 
Cc: Mikita Lipski 
Cc: Jiapeng Chong 
Cc: Bhanuprakash Modem 
Cc: Sean Paul 
Cc: amd-...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org
Reviewed-by: Rodrigo Siqueira 
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: Rodrigo Siqueira 
Signed-off-by: Alex Deucher 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
@@ -3007,7 +3007,7 @@ void crtc_debugfs_init(struct drm_crtc *
   &crc_win_y_end_fops);
debugfs_create_file_unsafe("crc_win_update", 0644, dir, crtc,
   &crc_win_update_fops);
-
+   dput(dir);
 }
 #endif
 /*


Patches currently in stable-queue which might be from 
gre...@linuxfoundation.org are

queue-5.15/alsa-aloop-fix-random-zeros-in-capture-data-when-using-jiffies-timer.patch
queue-5.15/alsa-usb-audio-split-endpoint-setups-for-hw_params-and-prepare.patch
queue-5.15/net-wwan-iosm-remove-pointless-null-check.patch
queue-5.15/fs-only-do-a-memory-barrier-for-the-first-set_buffer_uptodate.patch
queue-5.15/efi-capsule-loader-fix-use-after-free-in-efi_capsule_write.patch
queue-5.15/alsa-emu10k1-fix-out-of-bounds-access-in-snd_emu10k1_pcm_channel_alloc.patch
queue-5.15/net-mvpp2-debugfs-fix-memory-leak-when-using-debugfs_lookup.patch
queue-5.15/efi-libstub-disable-struct-randomization.patch
queue-5.15/revert-mm-kmemleak-take-a-full-lowmem-check-in-kmemleak_-_phys.patch
queue-5.15/sched-debug-fix-dentry-leak-in-update_sched_domain_debugfs.patch
queue-5.15/alsa-usb-audio-fix-an-out-of-bounds-bug-in-__snd_usb_parse_audio_interface.patch
queue-5.15/kprobes-prohibit-probes-in-gate-area.patch
queue-5.15/wifi-iwlegacy-4965-corrected-fix-for-potential-off-by-one-overflow-in-il4965_rs_fill_link_cmd.patch
queue-5.15/alsa-pcm-oss-fix-race-at-sndctl_dsp_sync.patch
queue-5.15/debugfs-add-debugfs_lookup_and_remove.patch
queue-5.15/vfio-type1-unpin-zero-pages.patch
queue-5.15/tracing-fix-to-check-event_mutex-is-held-while-accessing-trigger-list.patch
queue-5.15/btrfs-zoned-set-pseudo-max-append-zone-limit-in-zone-emulation-mode.patch
queue-5.15/drm-amd-display-fix-memory-leak-when-using-debugfs_lookup.patch


Patch "drm/amd/display: fix memory leak when using debugfs_lookup()" has been added to the 5.19-stable tree

2022-09-09 Thread gregkh


This is a note to let you know that I've just added the patch titled

drm/amd/display: fix memory leak when using debugfs_lookup()

to the 5.19-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-amd-display-fix-memory-leak-when-using-debugfs_lookup.patch
and it can be found in the queue-5.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


>From cbfac7fa491651c57926c99edeb7495c6c1aeac2 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman 
Date: Fri, 2 Sep 2022 15:01:05 +0200
Subject: drm/amd/display: fix memory leak when using debugfs_lookup()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Greg Kroah-Hartman 

commit cbfac7fa491651c57926c99edeb7495c6c1aeac2 upstream.

When calling debugfs_lookup() the result must have dput() called on it,
otherwise the memory will leak over time.  Fix this up by properly
calling dput().

Cc: Harry Wentland 
Cc: Leo Li 
Cc: Rodrigo Siqueira 
Cc: Alex Deucher 
Cc: "Christian König" 
Cc: "Pan, Xinhui" 
Cc: David Airlie 
Cc: Daniel Vetter 
Cc: Wayne Lin 
Cc: hersen wu 
Cc: Wenjing Liu 
Cc: Patrik Jakobsson 
Cc: Thelford Williams 
Cc: Fangzhi Zuo 
Cc: Yongzhi Liu 
Cc: Mikita Lipski 
Cc: Jiapeng Chong 
Cc: Bhanuprakash Modem 
Cc: Sean Paul 
Cc: amd-...@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: sta...@vger.kernel.org
Reviewed-by: Rodrigo Siqueira 
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: Rodrigo Siqueira 
Signed-off-by: Alex Deucher 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
@@ -3188,7 +3188,7 @@ void crtc_debugfs_init(struct drm_crtc *
   &crc_win_y_end_fops);
debugfs_create_file_unsafe("crc_win_update", 0644, dir, crtc,
   &crc_win_update_fops);
-
+   dput(dir);
 }
 #endif
 /*


Patches currently in stable-queue which might be from 
gre...@linuxfoundation.org are

queue-5.19/alsa-aloop-fix-random-zeros-in-capture-data-when-using-jiffies-timer.patch
queue-5.19/driver-core-fix-driver_set_override-issue-with-empty-strings.patch
queue-5.19/alsa-usb-audio-split-endpoint-setups-for-hw_params-and-prepare.patch
queue-5.19/soc-fsl-select-fsl_guts-driver-for-dpio.patch
queue-5.19/fs-only-do-a-memory-barrier-for-the-first-set_buffer_uptodate.patch
queue-5.19/tracefs-only-clobber-mode-uid-gid-on-remount-if-asked.patch
queue-5.19/efi-capsule-loader-fix-use-after-free-in-efi_capsule_write.patch
queue-5.19/alsa-emu10k1-fix-out-of-bounds-access-in-snd_emu10k1_pcm_channel_alloc.patch
queue-5.19/net-mvpp2-debugfs-fix-memory-leak-when-using-debugfs_lookup.patch
queue-5.19/efi-libstub-disable-struct-randomization.patch
queue-5.19/revert-mm-kmemleak-take-a-full-lowmem-check-in-kmemleak_-_phys.patch
queue-5.19/sched-debug-fix-dentry-leak-in-update_sched_domain_debugfs.patch
queue-5.19/alsa-usb-audio-fix-an-out-of-bounds-bug-in-__snd_usb_parse_audio_interface.patch
queue-5.19/kprobes-prohibit-probes-in-gate-area.patch
queue-5.19/tracing-hold-caller_addr-to-hardirq_-enable-disable-_ip.patch
queue-5.19/wifi-iwlegacy-4965-corrected-fix-for-potential-off-by-one-overflow-in-il4965_rs_fill_link_cmd.patch
queue-5.19/alsa-pcm-oss-fix-race-at-sndctl_dsp_sync.patch
queue-5.19/perf-risc-v-fix-access-beyond-allocated-array.patch
queue-5.19/debugfs-add-debugfs_lookup_and_remove.patch
queue-5.19/wifi-mt76-mt7921e-fix-crash-in-chip-reset-fail.patch
queue-5.19/btrfs-zoned-fix-api-misuse-of-zone-finish-waiting.patch
queue-5.19/vfio-type1-unpin-zero-pages.patch
queue-5.19/tracing-fix-to-check-event_mutex-is-held-while-accessing-trigger-list.patch
queue-5.19/alsa-hda-once-again-fix-regression-of-page-allocations-with-iommu.patch
queue-5.19/btrfs-zoned-set-pseudo-max-append-zone-limit-in-zone-emulation-mode.patch
queue-5.19/drm-amd-display-fix-memory-leak-when-using-debugfs_lookup.patch
queue-5.19/alsa-usb-audio-clear-fixed-clock-rate-at-closing-ep.patch


Patch "ASoC: davinci-mcasp: Handle return value of devm_kasprintf" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

ASoC: davinci-mcasp: Handle return value of devm_kasprintf

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:55 -0600
Subject: ASoC: davinci-mcasp: Handle return value of devm_kasprintf
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-15-mathieu.poir...@linaro.org>

From: Arvind Yadav 

commit 0c8b794c4a10aaf7ac0d4a49be2b2638e2038adb upstream

devm_kasprintf() can fail here and we must check its return value.

Signed-off-by: Arvind Yadav 
Acked-by: Peter Ujfalusi 
Signed-off-by: Mark Brown 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 sound/soc/davinci/davinci-mcasp.c |   12 
 1 file changed, 12 insertions(+)

--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -1894,6 +1894,10 @@ static int davinci_mcasp_probe(struct pl
if (irq >= 0) {
irq_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s_common",
  dev_name(&pdev->dev));
+   if (!irq_name) {
+   ret = -ENOMEM;
+   goto err;
+   }
ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,

davinci_mcasp_common_irq_handler,
IRQF_ONESHOT | IRQF_SHARED,
@@ -1911,6 +1915,10 @@ static int davinci_mcasp_probe(struct pl
if (irq >= 0) {
irq_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s_rx",
  dev_name(&pdev->dev));
+   if (!irq_name) {
+   ret = -ENOMEM;
+   goto err;
+   }
ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
davinci_mcasp_rx_irq_handler,
IRQF_ONESHOT, irq_name, mcasp);
@@ -1926,6 +1934,10 @@ static int davinci_mcasp_probe(struct pl
if (irq >= 0) {
irq_name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%s_tx",
  dev_name(&pdev->dev));
+   if (!irq_name) {
+   ret = -ENOMEM;
+   goto err;
+   }
ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
davinci_mcasp_tx_irq_handler,
IRQF_ONESHOT, irq_name, mcasp);


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "ASoC: davinci: Kill BUG_ON() usage" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

ASoC: davinci: Kill BUG_ON() usage

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 asoc-davinci-kill-bug_on-usage.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:56 -0600
Subject: ASoC: davinci: Kill BUG_ON() usage
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-16-mathieu.poir...@linaro.org>

From: Takashi Iwai 

commit befff4fbc27e19b14b343eb4a65d8f75d38b6230 upstream

Don't use BUG_ON() for a non-critical sanity check on production
systems.  This patch replaces with a softer WARN_ON() and an error
path.

Signed-off-by: Takashi Iwai 
Signed-off-by: Mark Brown 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 sound/soc/davinci/davinci-mcasp.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -1748,7 +1748,8 @@ static int davinci_mcasp_get_dma_type(st
PTR_ERR(chan));
return PTR_ERR(chan);
}
-   BUG_ON(!chan->device || !chan->device->dev);
+   if (WARN_ON(!chan->device || !chan->device->dev))
+   return -EINVAL;
 
if (chan->device->dev->of_node)
ret = of_property_read_string(chan->device->dev->of_node,


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:57 -0600
Subject: ASoC: davinci-mcasp: Fix an error handling path in 
'davinci_mcasp_probe()'
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-17-mathieu.poir...@linaro.org>

From: Christophe Jaillet 

commit 1b8b68b05d1868404316d32e20782b00442aba90 upstream

All error handling paths in this function 'goto err' except this one.

If one of the 2 previous memory allocations fails, we should go through
the existing error handling path. Otherwise there is an unbalanced
pm_runtime_enable()/pm_runtime_disable().

Fixes: dd55ff8346a9 ("ASoC: davinci-mcasp: Add set_tdm_slots() support")
Signed-off-by: Christophe JAILLET 
Acked-by: Peter Ujfalusi 
Signed-off-by: Mark Brown 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 sound/soc/davinci/davinci-mcasp.c |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -2022,8 +2022,10 @@ static int davinci_mcasp_probe(struct pl
 GFP_KERNEL);
 
if (!mcasp->chconstr[SNDRV_PCM_STREAM_PLAYBACK].list ||
-   !mcasp->chconstr[SNDRV_PCM_STREAM_CAPTURE].list)
-   return -ENOMEM;
+   !mcasp->chconstr[SNDRV_PCM_STREAM_CAPTURE].list) {
+   ret = -ENOMEM;
+   goto err;
+   }
 
ret = davinci_mcasp_set_ch_constraints(mcasp);
if (ret)


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:47 -0600
Subject: ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-7-mathieu.poir...@linaro.org>

From: "Andrew F. Davis" 

commit dcb407b257af06fa58b0544ec01ec9e0d3927e02 upstream

Currently BCLK inverting is only handled when the DAI format is
DSP, but the BCLK may be inverted in any supported mode. Without
this using this CODEC in any other mode than DSP with the BCLK
inverted leads to bad sampling timing and very poor audio quality.

Signed-off-by: Andrew F. Davis 
Signed-off-by: Mark Brown 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 sound/soc/codecs/tlv320aic31xx.c |   28 ++--
 1 file changed, 18 insertions(+), 10 deletions(-)

--- a/sound/soc/codecs/tlv320aic31xx.c
+++ b/sound/soc/codecs/tlv320aic31xx.c
@@ -924,6 +924,18 @@ static int aic31xx_set_dai_fmt(struct sn
return -EINVAL;
}
 
+   /* signal polarity */
+   switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
+   case SND_SOC_DAIFMT_NB_NF:
+   break;
+   case SND_SOC_DAIFMT_IB_NF:
+   iface_reg2 |= AIC31XX_BCLKINV_MASK;
+   break;
+   default:
+   dev_err(codec->dev, "Invalid DAI clock signal polarity\n");
+   return -EINVAL;
+   }
+
/* interface format */
switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
case SND_SOC_DAIFMT_I2S:
@@ -931,16 +943,12 @@ static int aic31xx_set_dai_fmt(struct sn
case SND_SOC_DAIFMT_DSP_A:
dsp_a_val = 0x1;
case SND_SOC_DAIFMT_DSP_B:
-   /* NOTE: BCLKINV bit value 1 equas NB and 0 equals IB */
-   switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
-   case SND_SOC_DAIFMT_NB_NF:
-   iface_reg2 |= AIC31XX_BCLKINV_MASK;
-   break;
-   case SND_SOC_DAIFMT_IB_NF:
-   break;
-   default:
-   return -EINVAL;
-   }
+   /*
+* NOTE: This CODEC samples on the falling edge of BCLK in
+* DSP mode, this is inverted compared to what most DAIs
+* expect, so we invert for this mode
+*/
+   iface_reg2 ^= AIC31XX_BCLKINV_MASK;
iface_reg1 |= (AIC31XX_DSP_MODE <<
   AIC31XX_IFACE1_DATATYPE_SHIFT);
break;


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "cpufreq: ti-cpufreq: add missing of_node_put()" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

cpufreq: ti-cpufreq: add missing of_node_put()

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 cpufreq-ti-cpufreq-add-missing-of_node_put.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:59 -0600
Subject: cpufreq: ti-cpufreq: add missing of_node_put()
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-19-mathieu.poir...@linaro.org>

From: Zumeng Chen 

commit 248aefdcc3a7e0cfbd014946b4dead63e750e71b upstream

call of_node_put to release the refcount of np.

Signed-off-by: Zumeng Chen 
Acked-by: Viresh Kumar 
Signed-off-by: Rafael J. Wysocki 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/cpufreq/ti-cpufreq.c |1 +
 1 file changed, 1 insertion(+)

--- a/drivers/cpufreq/ti-cpufreq.c
+++ b/drivers/cpufreq/ti-cpufreq.c
@@ -205,6 +205,7 @@ static int ti_cpufreq_init(void)
 
np = of_find_node_by_path("/");
match = of_match_node(ti_cpufreq_of_match, np);
+   of_node_put(np);
if (!match)
return -ENODEV;
 


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "mtd: spi-nor: enable 4B opcodes for mx66l51235l" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

mtd: spi-nor: enable 4B opcodes for mx66l51235l

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:48 -0600
Subject: mtd: spi-nor: enable 4B opcodes for mx66l51235l
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-8-mathieu.poir...@linaro.org>

From: Roman Yeryomin 

commit d342b6a973af459f6104cad6effc8efc71a0558d upstream

Signed-off-by: Roman Yeryomin 
Signed-off-by: Cyrille Pitchen 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/mtd/spi-nor/spi-nor.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -1030,7 +1030,7 @@ static const struct flash_info spi_nor_i
{ "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | 
SPI_NOR_QUAD_READ) },
{ "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | 
SPI_NOR_4B_OPCODES) },
{ "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
-   { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | 
SPI_NOR_QUAD_READ) },
+   { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | 
SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
{ "mx66u51235f", INFO(0xc2253a, 0, 64 * 1024, 1024, SECT_4K | 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
{ "mx66l1g45g",  INFO(0xc2201b, 0, 64 * 1024, 2048, SECT_4K | 
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ "mx66l1g55g",  INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) 
},


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "i2c: omap: Trigger bus recovery in lockup case" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

i2c: omap: Trigger bus recovery in lockup case

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 i2c-omap-trigger-bus-recovery-in-lockup-case.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:58 -0600
Subject: i2c: omap: Trigger bus recovery in lockup case
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-18-mathieu.poir...@linaro.org>

From: Claudio Foellmi 

commit 93367bfca98f36cece57c01dbce6ea1b4ac58245 upstream

A very conservative check for bus activity (to prevent interference
in multimaster setups) prevented the bus recovery methods from being
triggered in the case that SDA or SCL was stuck low.
This defeats the purpose of the recovery mechanism, which was introduced
for exactly this situation (a slave device keeping SDA pulled down).

Also added a check to make sure SDA is low before attempting recovery.
If SDA is not stuck low, recovery will not help, so we can skip it.

Note that bus lockups can persist across reboots. The only other options
are to reset or power cycle the offending slave device, and many i2c
slaves do not even have a reset pin.

If we see that one of the lines is low for the entire timeout duration,
we can actually be sure that there is no other master driving the bus.
It is therefore save for us to attempt a bus recovery.

Signed-off-by: Claudio Foellmi 
Tested-by: Vignesh R 
Reviewed-by: Grygorii Strashko 
[wsa: fixed one return code to -EBUSY]
Signed-off-by: Wolfram Sang 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/i2c/busses/i2c-omap.c |   25 +++--
 1 file changed, 23 insertions(+), 2 deletions(-)

--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -487,6 +487,22 @@ static int omap_i2c_init(struct omap_i2c
 }
 
 /*
+ * Try bus recovery, but only if SDA is actually low.
+ */
+static int omap_i2c_recover_bus(struct omap_i2c_dev *omap)
+{
+   u16 systest;
+
+   systest = omap_i2c_read_reg(omap, OMAP_I2C_SYSTEST_REG);
+   if ((systest & OMAP_I2C_SYSTEST_SCL_I_FUNC) &&
+   (systest & OMAP_I2C_SYSTEST_SDA_I_FUNC))
+   return 0; /* bus seems to already be fine */
+   if (!(systest & OMAP_I2C_SYSTEST_SCL_I_FUNC))
+   return -EBUSY; /* recovery would not fix SCL */
+   return i2c_recover_bus(&omap->adapter);
+}
+
+/*
  * Waiting on Bus Busy
  */
 static int omap_i2c_wait_for_bb(struct omap_i2c_dev *omap)
@@ -496,7 +512,7 @@ static int omap_i2c_wait_for_bb(struct o
timeout = jiffies + OMAP_I2C_TIMEOUT;
while (omap_i2c_read_reg(omap, OMAP_I2C_STAT_REG) & OMAP_I2C_STAT_BB) {
if (time_after(jiffies, timeout))
-   return i2c_recover_bus(&omap->adapter);
+   return omap_i2c_recover_bus(omap);
msleep(1);
}
 
@@ -577,8 +593,13 @@ static int omap_i2c_wait_for_bb_valid(st
}
 
if (time_after(jiffies, timeout)) {
+   /*
+* SDA or SCL were low for the entire timeout without
+* any activity detected. Most likely, a slave is
+* locking up the bus with no master driving the clock.
+*/
dev_warn(omap->dev, "timeout waiting for bus ready\n");
-   return -ETIMEDOUT;
+   return omap_i2c_recover_bus(omap);
}
 
msleep(1);


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpo

Patch "mtd: spi-nor: cadence-quadspi: add a delay in write sequence" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

mtd: spi-nor: cadence-quadspi: add a delay in write sequence

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:49 -0600
Subject: mtd: spi-nor: cadence-quadspi: add a delay in write sequence
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-9-mathieu.poir...@linaro.org>

From: Vignesh R 

commit 61dc8493bae9ba82a1c72edbc6c6065f6a94456a upstream

As per 66AK2G02 TRM[1] SPRUHY8F section 11.15.5.3 Indirect Access
Controller programming sequence, a delay equal to couple of QSPI master
clock(~5ns) is required after setting CQSPI_REG_INDIRECTWR_START bit and
writing data to the flash. Introduce a quirk flag CQSPI_NEEDS_WR_DELAY
to handle this and set this flag for TI 66AK2G SoC.

[1]http://www.ti.com/lit/ug/spruhy8f/spruhy8f.pdf

Signed-off-by: Vignesh R 
Acked-by: Marek Vasut 
Signed-off-by: Cyrille Pitchen 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/mtd/spi-nor/cadence-quadspi.c |   27 ++-
 1 file changed, 26 insertions(+), 1 deletion(-)

--- a/drivers/mtd/spi-nor/cadence-quadspi.c
+++ b/drivers/mtd/spi-nor/cadence-quadspi.c
@@ -38,6 +38,9 @@
 #define CQSPI_NAME "cadence-qspi"
 #define CQSPI_MAX_CHIPSELECT   16
 
+/* Quirks */
+#define CQSPI_NEEDS_WR_DELAY   BIT(0)
+
 struct cqspi_st;
 
 struct cqspi_flash_pdata {
@@ -76,6 +79,7 @@ struct cqspi_st {
u32 fifo_depth;
u32 fifo_width;
u32 trigger_address;
+   u32 wr_delay;
struct cqspi_flash_pdata f_pdata[CQSPI_MAX_CHIPSELECT];
 };
 
@@ -623,6 +627,15 @@ static int cqspi_indirect_write_execute(
reinit_completion(&cqspi->transfer_complete);
writel(CQSPI_REG_INDIRECTWR_START_MASK,
   reg_base + CQSPI_REG_INDIRECTWR);
+   /*
+* As per 66AK2G02 TRM SPRUHY8F section 11.15.5.3 Indirect Access
+* Controller programming sequence, couple of cycles of
+* QSPI_REF_CLK delay is required for the above bit to
+* be internally synchronized by the QSPI module. Provide 5
+* cycles of delay.
+*/
+   if (cqspi->wr_delay)
+   ndelay(cqspi->wr_delay);
 
while (remaining > 0) {
size_t write_words, mod_bytes;
@@ -1184,6 +1197,7 @@ static int cqspi_probe(struct platform_d
struct cqspi_st *cqspi;
struct resource *res;
struct resource *res_ahb;
+   unsigned long data;
int ret;
int irq;
 
@@ -1241,6 +1255,10 @@ static int cqspi_probe(struct platform_d
}
 
cqspi->master_ref_clk_hz = clk_get_rate(cqspi->clk);
+   data  = (unsigned long)of_device_get_match_data(dev);
+   if (data & CQSPI_NEEDS_WR_DELAY)
+   cqspi->wr_delay = 5 * DIV_ROUND_UP(NSEC_PER_SEC,
+  cqspi->master_ref_clk_hz);
 
ret = devm_request_irq(dev, irq, cqspi_irq_handler, 0,
   pdev->name, cqspi);
@@ -1312,7 +1330,14 @@ static const struct dev_pm_ops cqspi__de
 #endif
 
 static const struct of_device_id cqspi_dt_ids[] = {
-   {.compatible = "cdns,qspi-nor",},
+   {
+   .compatible = "cdns,qspi-nor",
+   .data = (void *)0,
+   },
+   {
+   .compatible = "ti,k2g-qspi",
+   .data = (void *)CQSPI_NEEDS_WR_DELAY,
+   },
{ /* end of table */ }
 };
 


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-

Patch "PCI: dra7xx: Add shutdown handler to cleanly turn off clocks" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

PCI: dra7xx: Add shutdown handler to cleanly turn off clocks

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:51 -0600
Subject: PCI: dra7xx: Add shutdown handler to cleanly turn off clocks
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-11-mathieu.poir...@linaro.org>

From: Keerthy 

commit 9c049bea083fea21373b8baf51fe49acbe24e105 upstream

Add shutdown handler to cleanly turn off clocks.  This will help in cases of
kexec where in a new kernel can boot abruptly.

Signed-off-by: Keerthy 
Signed-off-by: Bjorn Helgaas 
Acked-by: Kishon Vijay Abraham I 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/pci/dwc/pci-dra7xx.c |   17 +
 1 file changed, 17 insertions(+)

--- a/drivers/pci/dwc/pci-dra7xx.c
+++ b/drivers/pci/dwc/pci-dra7xx.c
@@ -817,6 +817,22 @@ static int dra7xx_pcie_resume_noirq(stru
 }
 #endif
 
+void dra7xx_pcie_shutdown(struct platform_device *pdev)
+{
+   struct device *dev = &pdev->dev;
+   struct dra7xx_pcie *dra7xx = dev_get_drvdata(dev);
+   int ret;
+
+   dra7xx_pcie_stop_link(dra7xx->pci);
+
+   ret = pm_runtime_put_sync(dev);
+   if (ret < 0)
+   dev_dbg(dev, "pm_runtime_put_sync failed\n");
+
+   pm_runtime_disable(dev);
+   dra7xx_pcie_disable_phy(dra7xx);
+}
+
 static const struct dev_pm_ops dra7xx_pcie_pm_ops = {
SET_SYSTEM_SLEEP_PM_OPS(dra7xx_pcie_suspend, dra7xx_pcie_resume)
SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(dra7xx_pcie_suspend_noirq,
@@ -830,5 +846,6 @@ static struct platform_driver dra7xx_pci
.suppress_bind_attrs = true,
.pm = &dra7xx_pcie_pm_ops,
},
+   .shutdown = dra7xx_pcie_shutdown,
 };
 builtin_platform_driver_probe(dra7xx_pcie_driver, dra7xx_pcie_probe);


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "usb: dwc3: Allow disabling of metastability workaround" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

usb: dwc3: Allow disabling of metastability workaround

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 usb-dwc3-allow-disabling-of-metastability-workaround.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:45 -0600
Subject: usb: dwc3: Allow disabling of metastability workaround
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-5-mathieu.poir...@linaro.org>

From: Roger Quadros 

commit 42bf02ec6e420e541af9a47437d0bdf961ca2972 upstream

Some platforms (e.g. TI's DRA7 USB2 instance) have more trouble
with the metastability workaround as it supports only
a High-Speed PHY and the PHY can enter into an Erratic state [1]
when the controller is set in SuperSpeed mode as part of
the metastability workaround.

This causes upto 2 seconds delay in enumeration on DRA7's USB2
instance in gadget mode.

If these platforms can be better off without the workaround,
provide a device tree property to suggest that so the workaround
is avoided.

[1] Device mode enumeration trace showing PHY Erratic Error.
 irq/90-dwc3-969   [000] d...52.323145: dwc3_event: event (0901): 
Erratic Error [U0]
 irq/90-dwc3-969   [000] d...52.560646: dwc3_event: event (0901): 
Erratic Error [U0]
 irq/90-dwc3-969   [000] d...52.798144: dwc3_event: event (0901): 
Erratic Error [U0]

Signed-off-by: Roger Quadros 
Signed-off-by: Felipe Balbi 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 Documentation/devicetree/bindings/usb/dwc3.txt |2 ++
 drivers/usb/dwc3/core.c|3 +++
 drivers/usb/dwc3/core.h|3 +++
 drivers/usb/dwc3/gadget.c  |6 --
 4 files changed, 12 insertions(+), 2 deletions(-)

--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -47,6 +47,8 @@ Optional properties:
from P0 to P1/P2/P3 without delay.
  - snps,dis-tx-ipgap-linecheck-quirk: when set, disable u2mac linestate check
during HS transmit.
+ - snps,dis_metastability_quirk: when set, disable metastability workaround.
+   CAUTION: use only if you are absolutely sure of it.
  - snps,is-utmi-l1-suspend: true when DWC3 asserts output signal
utmi_l1_suspend_n, false when asserts utmi_sleep_n
  - snps,hird-threshold: HIRD threshold
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -1115,6 +1115,9 @@ static void dwc3_get_properties(struct d
device_property_read_u32(dev, "snps,quirk-frame-length-adjustment",
 &dwc->fladj);
 
+   dwc->dis_metastability_quirk = device_property_read_bool(dev,
+   "snps,dis_metastability_quirk");
+
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis;
 
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -869,6 +869,7 @@ struct dwc3_scratchpad_array {
  * 1   - -3.5dB de-emphasis
  * 2   - No de-emphasis
  * 3   - Reserved
+ * @dis_metastability_quirk: set to disable metastability quirk.
  * @imod_interval: set the interrupt moderation interval in 250ns
  * increments or 0 to disable.
  */
@@ -1025,6 +1026,8 @@ struct dwc3 {
unsignedtx_de_emphasis_quirk:1;
unsignedtx_de_emphasis:2;
 
+   unsigneddis_metastability_quirk:1;
+
u16 imod_interval;
 };
 
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2034,7 +2034,8 @@ static void dwc3_gadget_set_speed(struct
 * STAR#9000525659: Clock Domain Crossing on DCTL in
 * USB 2.0 Mode
 */
-   if (dwc->revision < DWC3_REVISION_220A) {
+   if (dwc->revision < DWC3_REVISION_220A &&
+   !dwc->dis_metastability_quirk) {
reg |= DWC3_DCFG_SUPERSPEED;
} else {
switch (speed) {
@@ -3265,7 +3266,8 @@ int dwc3_gadget_init(struct dwc3 *dwc)
 * is less than super speed because we don't have means, yet, to tell
 * composite.c that we are USB 2.0 + LPM ECN.
 */
-   if (dwc->revision < DWC3_REVISION_220A)
+   if (dwc->revision < DWC3_REVISION_220A &&
+   !dwc->dis_metastability_quirk)
dev_inf

Patch "mailbox: reset txdone_method TXDONE_BY_POLL if client knows_txdone" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

mailbox: reset txdone_method TXDONE_BY_POLL if client knows_txdone

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:53 -0600
Subject: mailbox: reset txdone_method TXDONE_BY_POLL if client knows_txdone
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-13-mathieu.poir...@linaro.org>

From: Sudeep Holla 

commit 33cd7123ac0ba5360656ae27db453de5b9aa711f upstream

Currently the mailbox framework sets txdone_method to TXDONE_BY_POLL if
the controller sets txdone_by_poll. However some clients can have a
mechanism to do TXDONE_BY_ACK which they can specify by knows_txdone.
However, we endup setting both TXDONE_BY_POLL and TXDONE_BY_ACK in that
case. In such scenario, we may end up with below warnings as the tx
ticker is run both by mailbox framework and the client.

WARNING: CPU: 1 PID: 0 at kernel/time/hrtimer.c:805 hrtimer_forward+0x88/0xd8
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.12.0-rc5 #242
Hardware name: ARM LTD ARM Juno Development Platform
task: 8009768ca700 task.stack: 8009768f8000
PC is at hrtimer_forward+0x88/0xd8
LR is at txdone_hrtimer+0xd4/0xf8
Call trace:
 hrtimer_forward+0x88/0xd8
 __hrtimer_run_queues+0xe4/0x158
 hrtimer_interrupt+0xa4/0x220
 arch_timer_handler_phys+0x30/0x40
 handle_percpu_devid_irq+0x78/0x130
 generic_handle_irq+0x24/0x38
 __handle_domain_irq+0x5c/0xb8
 gic_handle_irq+0x54/0xa8

This patch fixes the issue by resetting TXDONE_BY_POLL if client has set
knows_txdone.

Cc: Alexey Klimov 
Signed-off-by: Sudeep Holla 
Signed-off-by: Jassi Brar 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/mailbox/mailbox.c |4 ++--
 drivers/mailbox/pcc.c |4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

--- a/drivers/mailbox/mailbox.c
+++ b/drivers/mailbox/mailbox.c
@@ -351,7 +351,7 @@ struct mbox_chan *mbox_request_channel(s
init_completion(&chan->tx_complete);
 
if (chan->txdone_method == TXDONE_BY_POLL && cl->knows_txdone)
-   chan->txdone_method |= TXDONE_BY_ACK;
+   chan->txdone_method = TXDONE_BY_ACK;
 
spin_unlock_irqrestore(&chan->lock, flags);
 
@@ -420,7 +420,7 @@ void mbox_free_channel(struct mbox_chan
spin_lock_irqsave(&chan->lock, flags);
chan->cl = NULL;
chan->active_req = NULL;
-   if (chan->txdone_method == (TXDONE_BY_POLL | TXDONE_BY_ACK))
+   if (chan->txdone_method == TXDONE_BY_ACK)
chan->txdone_method = TXDONE_BY_POLL;
 
module_put(chan->mbox->dev->driver->owner);
--- a/drivers/mailbox/pcc.c
+++ b/drivers/mailbox/pcc.c
@@ -266,7 +266,7 @@ struct mbox_chan *pcc_mbox_request_chann
init_completion(&chan->tx_complete);
 
if (chan->txdone_method == TXDONE_BY_POLL && cl->knows_txdone)
-   chan->txdone_method |= TXDONE_BY_ACK;
+   chan->txdone_method = TXDONE_BY_ACK;
 
spin_unlock_irqrestore(&chan->lock, flags);
 
@@ -312,7 +312,7 @@ void pcc_mbox_free_channel(struct mbox_c
spin_lock_irqsave(&chan->lock, flags);
chan->cl = NULL;
chan->active_req = NULL;
-   if (chan->txdone_method == (TXDONE_BY_POLL | TXDONE_BY_ACK))
+   if (chan->txdone_method == TXDONE_BY_ACK)
chan->txdone_method = TXDONE_BY_POLL;
 
spin_unlock_irqrestore(&chan->lock, flags);


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.

Patch "ASoC: tlv320dac31xx: mark expected switch fall-through" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

ASoC: tlv320dac31xx: mark expected switch fall-through

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:54 -0600
Subject: ASoC: tlv320dac31xx: mark expected switch fall-through
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-14-mathieu.poir...@linaro.org>

From: "Gustavo A. R. Silva" 

commit 09fc38c1af4cb888255e9ecf267bf9757c12885d upstream

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1195220
Signed-off-by: Gustavo A. R. Silva 
Signed-off-by: Mark Brown 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 sound/soc/codecs/tlv320aic31xx.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/sound/soc/codecs/tlv320aic31xx.c
+++ b/sound/soc/codecs/tlv320aic31xx.c
@@ -941,7 +941,7 @@ static int aic31xx_set_dai_fmt(struct sn
case SND_SOC_DAIFMT_I2S:
break;
case SND_SOC_DAIFMT_DSP_A:
-   dsp_a_val = 0x1;
+   dsp_a_val = 0x1; /* fall through */
case SND_SOC_DAIFMT_DSP_B:
/*
 * NOTE: This CODEC samples on the falling edge of BCLK in


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "misc: pci_endpoint_test: Fix BUG_ON error during pci_disable_msi()" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

misc: pci_endpoint_test: Fix BUG_ON error during pci_disable_msi()

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:52 -0600
Subject: misc: pci_endpoint_test: Fix BUG_ON error during pci_disable_msi()
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-12-mathieu.poir...@linaro.org>

From: Kishon Vijay Abraham I 

commit b7636e816adcb52bc96b6fb7bc9d141cbfd17ddb upstream

pci_disable_msi() throws a Kernel BUG if the driver has successfully
requested an IRQ and not released it. Fix it here by freeing IRQs before
invoking pci_disable_msi().

Signed-off-by: Kishon Vijay Abraham I 
Signed-off-by: Bjorn Helgaas 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/misc/pci_endpoint_test.c |8 
 1 file changed, 8 insertions(+)

--- a/drivers/misc/pci_endpoint_test.c
+++ b/drivers/misc/pci_endpoint_test.c
@@ -92,6 +92,7 @@ struct pci_endpoint_test {
void __iomem*bar[6];
struct completion irq_raised;
int last_irq;
+   int num_irqs;
/* mutex to protect the ioctls */
struct mutexmutex;
struct miscdevice miscdev;
@@ -514,6 +515,7 @@ static int pci_endpoint_test_probe(struc
irq = pci_alloc_irq_vectors(pdev, 1, 32, PCI_IRQ_MSI);
if (irq < 0)
dev_err(dev, "failed to get MSI interrupts\n");
+   test->num_irqs = irq;
}
 
err = devm_request_irq(dev, pdev->irq, pci_endpoint_test_irqhandler,
@@ -581,6 +583,9 @@ err_iounmap:
pci_iounmap(pdev, test->bar[bar]);
}
 
+   for (i = 0; i < irq; i++)
+   devm_free_irq(dev, pdev->irq + i, test);
+
 err_disable_msi:
pci_disable_msi(pdev);
pci_release_regions(pdev);
@@ -594,6 +599,7 @@ err_disable_pdev:
 static void pci_endpoint_test_remove(struct pci_dev *pdev)
 {
int id;
+   int i;
enum pci_barno bar;
struct pci_endpoint_test *test = pci_get_drvdata(pdev);
struct miscdevice *misc_device = &test->miscdev;
@@ -609,6 +615,8 @@ static void pci_endpoint_test_remove(str
if (test->bar[bar])
pci_iounmap(pdev, test->bar[bar]);
}
+   for (i = 0; i < test->num_irqs; i++)
+   devm_free_irq(&pdev->dev, pdev->irq + i, test);
pci_disable_msi(pdev);
pci_release_regions(pdev);
pci_disable_device(pdev);


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "mfd: palmas: Assign the right powerhold mask for tps65917" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

mfd: palmas: Assign the right powerhold mask for tps65917

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:46 -0600
Subject: mfd: palmas: Assign the right powerhold mask for tps65917
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-6-mathieu.poir...@linaro.org>

From: Keerthy 

commit 572ff4d560be3784205b224cd67d6715620092d7 upstream

The powerhold mask for TPS65917 is different when comapred to
the other palmas versions. Hence assign the right mask that enables
power off of tps65917 pmic correctly.

Signed-off-by: Keerthy 
Signed-off-by: Lee Jones 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/mfd/palmas.c   |   10 +-
 include/linux/mfd/palmas.h |3 +++
 2 files changed, 12 insertions(+), 1 deletion(-)

--- a/drivers/mfd/palmas.c
+++ b/drivers/mfd/palmas.c
@@ -430,6 +430,7 @@ static void palmas_power_off(void)
 {
unsigned int addr;
int ret, slave;
+   u8 powerhold_mask;
struct device_node *np = palmas_dev->dev->of_node;
 
if (of_property_read_bool(np, "ti,palmas-override-powerhold")) {
@@ -437,8 +438,15 @@ static void palmas_power_off(void)
  PALMAS_PRIMARY_SECONDARY_PAD2);
slave = PALMAS_BASE_TO_SLAVE(PALMAS_PU_PD_OD_BASE);
 
+   if (of_device_is_compatible(np, "ti,tps65917"))
+   powerhold_mask =
+   TPS65917_PRIMARY_SECONDARY_PAD2_GPIO_5_MASK;
+   else
+   powerhold_mask =
+   PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_7_MASK;
+
ret = regmap_update_bits(palmas_dev->regmap[slave], addr,
-   PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_7_MASK, 0);
+powerhold_mask, 0);
if (ret)
dev_err(palmas_dev->dev,
"Unable to write PRIMARY_SECONDARY_PAD2 %d\n",
--- a/include/linux/mfd/palmas.h
+++ b/include/linux/mfd/palmas.h
@@ -3733,6 +3733,9 @@ enum usb_irq_events {
 #define TPS65917_REGEN3_CTRL_MODE_ACTIVE   0x01
 #define TPS65917_REGEN3_CTRL_MODE_ACTIVE_SHIFT 0x00
 
+/* POWERHOLD Mask field for PRIMARY_SECONDARY_PAD2 register */
+#define TPS65917_PRIMARY_SECONDARY_PAD2_GPIO_5_MASK0xC
+
 /* Registers for function RESOURCE */
 #define TPS65917_REGEN1_CTRL   0x2
 #define TPS65917_PLLEN_CTRL0x3


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "misc: pci_endpoint_test: Prevent some integer overflows" has been added to the 4.14-stable tree

2019-11-11 Thread gregkh

This is a note to let you know that I've just added the patch titled

misc: pci_endpoint_test: Prevent some integer overflows

to the 4.14-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 misc-pci_endpoint_test-prevent-some-integer-overflows.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From foo@baz Mon 11 Nov 2019 10:07:22 AM CET
From: Mathieu Poirier 
Date: Thu,  5 Sep 2019 10:17:50 -0600
Subject: misc: pci_endpoint_test: Prevent some integer overflows
To: sta...@vger.kernel.org
Cc: linux-...@vger.kernel.org, linux-ker...@vger.kernel.org, 
linux...@vger.kernel.org, dri-devel@lists.freedesktop.org, 
linux-o...@vger.kernel.org, linux-...@vger.kernel.org, 
linux-...@vger.kernel.org, linux-...@lists.infradead.org
Message-ID: <20190905161759.28036-10-mathieu.poir...@linaro.org>

From: Dan Carpenter 

commit 378f79cab12b669928f3a4037f023837ead2ce0c upstream

"size + max" can have an arithmetic overflow when we're allocating:

orig_src_addr = dma_alloc_coherent(dev, size + alignment, ...

I've added a few checks to prevent that.

Fixes: 13107c60681f ("misc: pci_endpoint_test: Add support to provide aligned 
buffer addresses")
Signed-off-by: Dan Carpenter 
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: Mathieu Poirier 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/misc/pci_endpoint_test.c |9 +
 1 file changed, 9 insertions(+)

--- a/drivers/misc/pci_endpoint_test.c
+++ b/drivers/misc/pci_endpoint_test.c
@@ -226,6 +226,9 @@ static bool pci_endpoint_test_copy(struc
u32 src_crc32;
u32 dst_crc32;
 
+   if (size > SIZE_MAX - alignment)
+   goto err;
+
orig_src_addr = dma_alloc_coherent(dev, size + alignment,
   &orig_src_phys_addr, GFP_KERNEL);
if (!orig_src_addr) {
@@ -311,6 +314,9 @@ static bool pci_endpoint_test_write(stru
size_t alignment = test->alignment;
u32 crc32;
 
+   if (size > SIZE_MAX - alignment)
+   goto err;
+
orig_addr = dma_alloc_coherent(dev, size + alignment, &orig_phys_addr,
   GFP_KERNEL);
if (!orig_addr) {
@@ -369,6 +375,9 @@ static bool pci_endpoint_test_read(struc
size_t alignment = test->alignment;
u32 crc32;
 
+   if (size > SIZE_MAX - alignment)
+   goto err;
+
orig_addr = dma_alloc_coherent(dev, size + alignment, &orig_phys_addr,
   GFP_KERNEL);
if (!orig_addr) {


Patches currently in stable-queue which might be from 
mathieu.poir...@linaro.org are

queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch
queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch
queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch
queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch
queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch
queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch
queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch
queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch
queue-4.14/asoc-davinci-kill-bug_on-usage.patch
queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch
queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch
queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch
queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch
queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch
queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch "drm/mgag200: Add workaround for HW that does not support 'startadd'" has been added to the 5.4-stable tree

2019-12-19 Thread gregkh

This is a note to let you know that I've just added the patch titled

drm/mgag200: Add workaround for HW that does not support 'startadd'

to the 5.4-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-mgag200-add-workaround-for-hw-that-does-not-support-startadd.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From 1591fadf857cdbaf2baa55e421af99a61354713c Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Tue, 26 Nov 2019 11:15:29 +0100
Subject: drm/mgag200: Add workaround for HW that does not support 'startadd'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Zimmermann 

commit 1591fadf857cdbaf2baa55e421af99a61354713c upstream.

There's at least one system that does not interpret the value of
the device's 'startadd' field correctly, which leads to incorrectly
displayed scanout buffers. Always placing the active scanout buffer
at offset 0 works around the problem.

Signed-off-by: Thomas Zimmermann 
Reported-by: John Donnelly 
Tested-by: John Donnelly 
Reviewed-by: Daniel Vetter 
Fixes: 81da87f63a1e ("drm: Replace drm_gem_vram_push_to_system() with kunmap + 
unpin")
Cc: Gerd Hoffmann 
Cc: Dave Airlie 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: David Airlie 
Cc: Sam Ravnborg 
Cc: "Y.C. Chen" 
Cc: Neil Armstrong 
Cc: Thomas Gleixner 
Cc: "José Roberto de Souza" 
Cc: Andrzej Pietrasiewicz 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.3+
Link: https://gitlab.freedesktop.org/drm/misc/issues/7
Link: 
https://patchwork.freedesktop.org/patch/msgid/20191126101529.20356-4-tzimmerm...@suse.de
[drop debugfs_init callback - gregkh]
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/mgag200/mgag200_drv.c |   35 +-
 drivers/gpu/drm/mgag200/mgag200_drv.h |3 ++
 2 files changed, 37 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/mgag200/mgag200_drv.c
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.c
@@ -30,6 +30,8 @@ module_param_named(modeset, mgag200_mode
 static struct drm_driver driver;
 
 static const struct pci_device_id pciidlist[] = {
+   { PCI_VENDOR_ID_MATROX, 0x522, PCI_VENDOR_ID_SUN, 0x4852, 0, 0,
+   G200_SE_A | MGAG200_FLAG_HW_BUG_NO_STARTADD},
{ PCI_VENDOR_ID_MATROX, 0x522, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_SE_A 
},
{ PCI_VENDOR_ID_MATROX, 0x524, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_SE_B 
},
{ PCI_VENDOR_ID_MATROX, 0x530, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_EV },
@@ -63,6 +65,35 @@ static const struct file_operations mgag
DRM_VRAM_MM_FILE_OPERATIONS
 };
 
+static bool mgag200_pin_bo_at_0(const struct mga_device *mdev)
+{
+   return mdev->flags & MGAG200_FLAG_HW_BUG_NO_STARTADD;
+}
+
+int mgag200_driver_dumb_create(struct drm_file *file,
+  struct drm_device *dev,
+  struct drm_mode_create_dumb *args)
+{
+   struct mga_device *mdev = dev->dev_private;
+   unsigned long pg_align;
+
+   if (WARN_ONCE(!dev->vram_mm, "VRAM MM not initialized"))
+   return -EINVAL;
+
+   pg_align = 0ul;
+
+   /*
+* Aligning scanout buffers to the size of the video ram forces
+* placement at offset 0. Works around a bug where HW does not
+* respect 'startadd' field.
+*/
+   if (mgag200_pin_bo_at_0(mdev))
+   pg_align = PFN_UP(mdev->mc.vram_size);
+
+   return drm_gem_vram_fill_create_dumb(file, dev, &dev->vram_mm->bdev,
+pg_align, false, args);
+}
+
 static struct drm_driver driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET,
.load = mgag200_driver_load,
@@ -74,7 +105,9 @@ static struct drm_driver driver = {
.major = DRIVER_MAJOR,
.minor = DRIVER_MINOR,
.patchlevel = DRIVER_PATCHLEVEL,
-   DRM_GEM_VRAM_DRIVER
+   .dumb_create = mgag200_driver_dumb_create,
+   .dumb_map_offset = drm_gem_vram_driver_dumb_mmap_offset,
+   .gem_prime_mmap = drm_gem_prime_mmap,
 };
 
 static struct pci_driver mgag200_pci_driver = {
--- a/drivers/gpu/drm/mgag200/mgag200_drv.h
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.h
@@ -159,6 +159,9 @@ enum mga_type {
G200_EW3,
 };
 
+/* HW does not handle 'startadd' field correct. */
+#define MGAG200_FLAG_HW_BUG_NO_STARTADD(1ul << 8)
+
 #define MGAG200_TYPE_MASK  (0x00ff)
 #define MGAG200_FLAG_MASK  (0x0000)
 


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.4/drm-mgag200-flag-all-g200-se-a-machines-as-broken-wrt-startadd.patch
queue-5.4/drm-mgag200-store-flags-from-pci-driver-data-in-device-struct

Patch "drm/mgag200: Extract device type from flags" has been added to the 5.4-stable tree

2019-12-19 Thread gregkh

This is a note to let you know that I've just added the patch titled

drm/mgag200: Extract device type from flags

to the 5.4-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-mgag200-extract-device-type-from-flags.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From 3a8a5aba142a44eaeba0cb0ec1b4a8f177b5e59a Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Tue, 26 Nov 2019 11:15:27 +0100
Subject: drm/mgag200: Extract device type from flags
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Zimmermann 

commit 3a8a5aba142a44eaeba0cb0ec1b4a8f177b5e59a upstream.

Adds a conversion function that extracts the device type from the
PCI id-table flags. Allows for storing additional information in the
other flag bits.

Signed-off-by: Thomas Zimmermann 
Fixes: 81da87f63a1e ("drm: Replace drm_gem_vram_push_to_system() with kunmap + 
unpin")
Reviewed-by: Daniel Vetter 
Cc: John Donnelly 
Cc: Gerd Hoffmann 
Cc: Dave Airlie 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: David Airlie 
Cc: Sam Ravnborg 
Cc: Emil Velikov 
Cc: "Y.C. Chen" 
Cc: Laurent Pinchart 
Cc: "José Roberto de Souza" 
Cc: Andrzej Pietrasiewicz 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.3+
Link: 
https://patchwork.freedesktop.org/patch/msgid/20191126101529.20356-2-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/mgag200/mgag200_drv.h  |7 +++
 drivers/gpu/drm/mgag200/mgag200_main.c |2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/mgag200/mgag200_drv.h
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.h
@@ -159,6 +159,8 @@ enum mga_type {
G200_EW3,
 };
 
+#define MGAG200_TYPE_MASK  (0x00ff)
+
 #define IS_G200_SE(mdev) (mdev->type == G200_SE_A || mdev->type == G200_SE_B)
 
 struct mga_device {
@@ -188,6 +190,11 @@ struct mga_device {
u32 unique_rev_id;
 };
 
+static inline enum mga_type
+mgag200_type_from_driver_data(kernel_ulong_t driver_data)
+{
+   return (enum mga_type)(driver_data & MGAG200_TYPE_MASK);
+}
/* mgag200_mode.c */
 int mgag200_modeset_init(struct mga_device *mdev);
 void mgag200_modeset_fini(struct mga_device *mdev);
--- a/drivers/gpu/drm/mgag200/mgag200_main.c
+++ b/drivers/gpu/drm/mgag200/mgag200_main.c
@@ -94,7 +94,7 @@ static int mgag200_device_init(struct dr
struct mga_device *mdev = dev->dev_private;
int ret, option;
 
-   mdev->type = flags;
+   mdev->type = mgag200_type_from_driver_data(flags);
 
/* Hardcode the number of CRTCs to 1 */
mdev->num_crtc = 1;


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.4/drm-mgag200-flag-all-g200-se-a-machines-as-broken-wrt-startadd.patch
queue-5.4/drm-mgag200-store-flags-from-pci-driver-data-in-device-structure.patch
queue-5.4/drm-mgag200-add-workaround-for-hw-that-does-not-support-startadd.patch
queue-5.4/drm-mgag200-extract-device-type-from-flags.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Patch "drm/mgag200: Flag all G200 SE A machines as broken wrt " has been added to the 5.4-stable tree

2019-12-19 Thread gregkh

This is a note to let you know that I've just added the patch titled

drm/mgag200: Flag all G200 SE A machines as broken wrt 

to the 5.4-stable tree which can be found at:

http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
 drm-mgag200-flag-all-g200-se-a-machines-as-broken-wrt-startadd.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let  know about it.


From 4adf0b49eea926a55fd956ef7d86750f771435ff Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann 
Date: Fri, 6 Dec 2019 09:19:01 +0100
Subject: drm/mgag200: Flag all G200 SE A machines as broken wrt 
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Thomas Zimmermann 

commit 4adf0b49eea926a55fd956ef7d86750f771435ff upstream.

Several MGA G200 SE machines don't respect the value of the startadd
register field. After more feedback on affected machines, neither PCI
subvendor ID nor the internal ID seem to hint towards the bug. All
affected machines have a PCI ID of 0x0522 (i.e., G200 SE A). It was
decided to flag all G200 SE A machines as broken.

Signed-off-by: Thomas Zimmermann 
Acked-by: Gerd Hoffmann 
Fixes: 1591fadf857c ("drm/mgag200: Add workaround for HW that does not support 
'startadd'")
Cc: Thomas Zimmermann 
Cc: John Donnelly 
Cc: Daniel Vetter 
Cc: Gerd Hoffmann 
Cc: Dave Airlie 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: David Airlie 
Cc: Sam Ravnborg 
Cc: "Y.C. Chen" 
Cc: Neil Armstrong 
Cc: Thomas Gleixner 
Cc: "José Roberto de Souza" 
Cc: Andrzej Pietrasiewicz 
Cc: dri-devel@lists.freedesktop.org
Cc:  # v5.3+
Cc: Greg Kroah-Hartman 
Cc: Allison Randal 
Cc: Alex Deucher 
Cc: "Noralf Trønnes" 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20191206081901.9938-1-tzimmerm...@suse.de
Signed-off-by: Greg Kroah-Hartman 

---
 drivers/gpu/drm/mgag200/mgag200_drv.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- a/drivers/gpu/drm/mgag200/mgag200_drv.c
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.c
@@ -30,9 +30,8 @@ module_param_named(modeset, mgag200_mode
 static struct drm_driver driver;
 
 static const struct pci_device_id pciidlist[] = {
-   { PCI_VENDOR_ID_MATROX, 0x522, PCI_VENDOR_ID_SUN, 0x4852, 0, 0,
+   { PCI_VENDOR_ID_MATROX, 0x522, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
G200_SE_A | MGAG200_FLAG_HW_BUG_NO_STARTADD},
-   { PCI_VENDOR_ID_MATROX, 0x522, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_SE_A 
},
{ PCI_VENDOR_ID_MATROX, 0x524, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_SE_B 
},
{ PCI_VENDOR_ID_MATROX, 0x530, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_EV },
{ PCI_VENDOR_ID_MATROX, 0x532, PCI_ANY_ID, PCI_ANY_ID, 0, 0, G200_WB },


Patches currently in stable-queue which might be from tzimmerm...@suse.de are

queue-5.4/drm-mgag200-flag-all-g200-se-a-machines-as-broken-wrt-startadd.patch
queue-5.4/drm-mgag200-store-flags-from-pci-driver-data-in-device-structure.patch
queue-5.4/drm-mgag200-add-workaround-for-hw-that-does-not-support-startadd.patch
queue-5.4/drm-mgag200-extract-device-type-from-flags.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


  1   2   3   4   >