This regression stems from 0e08270a1f01 ("drm/msm: Separate locking of buffer resources from struct_mutex").
Signed-off-by: Daniel Mack daniel@zonque.org Cc: Sushmita Susheelendra ssusheel@codeaurora.org Cc: Rob Clark rclark@redhat.com Fixes: 0e08270a1f01 ("drm/msm: Separate locking of buffer resources from struct_mutex") --- I'm resending these two patches as I got no reply last time.
drivers/gpu/drm/msm/dsi/dsi_host.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c index 0f7324a686ca..27637d8a99ff 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -994,7 +994,6 @@ static int dsi_tx_buf_alloc(struct msm_dsi_host *msm_host, int size)
ret = msm_gem_get_iova(msm_host->tx_gem_obj, priv->kms->aspace, &iova); - mutex_unlock(&dev->struct_mutex); if (ret) { pr_err("%s: failed to get iova, %d\n", __func__, ret); return ret;
Even though msm_gem_put_iova() is currently a NOP function, the caller should pass in the address space pointer it used to obtain the object.
Other call sites were changed in 8bdcd949bbe7e ("drm/msm: pass address-space to _get_iova() and friends"), but this one seems to have been forgotten.
Signed-off-by: Daniel Mack daniel@zonque.org Cc: Rob Clark robdclark@gmail.com --- drivers/gpu/drm/msm/dsi/dsi_host.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c index c9b14948dc25..f844ca1f8e5a 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -1059,9 +1059,10 @@ static int dsi_tx_buf_alloc(struct msm_dsi_host *msm_host, int size) static void dsi_tx_buf_free(struct msm_dsi_host *msm_host) { struct drm_device *dev = msm_host->dev; + struct msm_drm_private *priv = dev->dev_private;
if (msm_host->tx_gem_obj) { - msm_gem_put_iova(msm_host->tx_gem_obj, 0); + msm_gem_put_iova(msm_host->tx_gem_obj, priv->kms->aspace); drm_gem_object_put_unlocked(msm_host->tx_gem_obj); msm_host->tx_gem_obj = NULL; }
On Thu, May 3, 2018 at 8:00 AM, Daniel Mack daniel@zonque.org wrote:
This regression stems from 0e08270a1f01 ("drm/msm: Separate locking of buffer resources from struct_mutex").
Signed-off-by: Daniel Mack daniel@zonque.org Cc: Sushmita Susheelendra ssusheel@codeaurora.org Cc: Rob Clark rclark@redhat.com Fixes: 0e08270a1f01 ("drm/msm: Separate locking of buffer resources from struct_mutex")
I'm resending these two patches as I got no reply last time.
I've applied these two to msm-next. Sorry I missed them before... for some reason they don't seem to show up in the dri-devel patchworks[1]
BR, -R
[1] https://patchwork.freedesktop.org/project/dri-devel/series/
drivers/gpu/drm/msm/dsi/dsi_host.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c index 0f7324a686ca..27637d8a99ff 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -994,7 +994,6 @@ static int dsi_tx_buf_alloc(struct msm_dsi_host *msm_host, int size)
ret = msm_gem_get_iova(msm_host->tx_gem_obj, priv->kms->aspace, &iova);
mutex_unlock(&dev->struct_mutex); if (ret) { pr_err("%s: failed to get iova, %d\n", __func__, ret); return ret;
-- 2.14.3
On Thursday, May 03, 2018 02:24 PM, Rob Clark wrote:
On Thu, May 3, 2018 at 8:00 AM, Daniel Mack daniel@zonque.org wrote:
This regression stems from 0e08270a1f01 ("drm/msm: Separate locking of buffer resources from struct_mutex").
Signed-off-by: Daniel Mack daniel@zonque.org Cc: Sushmita Susheelendra ssusheel@codeaurora.org Cc: Rob Clark rclark@redhat.com Fixes: 0e08270a1f01 ("drm/msm: Separate locking of buffer resources from struct_mutex")
I'm resending these two patches as I got no reply last time.
I've applied these two to msm-next. Sorry I missed them before... for some reason they don't seem to show up in the dri-devel patchworks[1]
No problem, and thanks for applying them :)
Daniel
BR, -R
[1] https://patchwork.freedesktop.org/project/dri-devel/series/
drivers/gpu/drm/msm/dsi/dsi_host.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c index 0f7324a686ca..27637d8a99ff 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -994,7 +994,6 @@ static int dsi_tx_buf_alloc(struct msm_dsi_host *msm_host, int size)
ret = msm_gem_get_iova(msm_host->tx_gem_obj, priv->kms->aspace, &iova);
mutex_unlock(&dev->struct_mutex); if (ret) { pr_err("%s: failed to get iova, %d\n", __func__, ret); return ret;
-- 2.14.3
dri-devel@lists.freedesktop.org