Re: [PATCH] drm/msm: Remove unused function arguments

2019-09-17 Thread Rob Clark
On Tue, Sep 17, 2019 at 10:14 AM Jordan Crouse  wrote:
>
> On Mon, Sep 16, 2019 at 01:34:55PM -0700, Rob Clark wrote:
> > On Mon, Sep 16, 2019 at 1:12 PM Drew Davenport  
> > wrote:
> > >
> > > The arguments related to IOMMU port name have been unused since
> > > commit 944fc36c31ed ("drm/msm: use upstream iommu") and can be removed.
> > >
> > > Signed-off-by: Drew Davenport 
> > > ---
> > > Rob, in the original commit the port name stuff was left intentionally.
> > > Would it be alright to remove it now?
> >
> > Upstream support for snapdragon has improved considerably since then,
> > it's been at least a couple years since I've had to backport drm to a
> > downstream android vendor kernel.  (And I think the downstream vendor
> > kernel is getting closer to upstream.)  So I think we can drop things
> > that were originally left in place to simplify backporting to vendor
> > kernel.
>
> Downstream has gotten close enough to the IOMMU API over the last few LTS
> cycles and nearly everything outside of a2xx that can work on a modern
> kernel will likely be using a arm-smmu-v2 or a MMU-500.  This code can happily
> go.
>
> > (Also, some of the regulator usage falls into this category.. at one
> > point the downstream kernel modeled gdsc's as regulators, but upstream
> > uses genpd.)
>
> Downstream still uses regulators. If we ever needed to use a downstream kernel
> for whatever reason we could easily hack them back in but I don't feel like 
> this
> is a likely scenario.

ok, maybe we can keep the regulator cruft for a bit longer until
downstream moves to genpd.. with dummy-regulator, it doesn't really
hurt anything.

Do let me know if future downstream rebase moves to genpd, I suppose
after the next LTS after that would be a good time to garbage-collect
the regulator related gdsc management

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

Re: [PATCH] drm/msm: Remove unused function arguments

2019-09-17 Thread Jordan Crouse
On Mon, Sep 16, 2019 at 01:34:55PM -0700, Rob Clark wrote:
> On Mon, Sep 16, 2019 at 1:12 PM Drew Davenport  
> wrote:
> >
> > The arguments related to IOMMU port name have been unused since
> > commit 944fc36c31ed ("drm/msm: use upstream iommu") and can be removed.
> >
> > Signed-off-by: Drew Davenport 
> > ---
> > Rob, in the original commit the port name stuff was left intentionally.
> > Would it be alright to remove it now?
> 
> Upstream support for snapdragon has improved considerably since then,
> it's been at least a couple years since I've had to backport drm to a
> downstream android vendor kernel.  (And I think the downstream vendor
> kernel is getting closer to upstream.)  So I think we can drop things
> that were originally left in place to simplify backporting to vendor
> kernel.

Downstream has gotten close enough to the IOMMU API over the last few LTS
cycles and nearly everything outside of a2xx that can work on a modern
kernel will likely be using a arm-smmu-v2 or a MMU-500.  This code can happily
go.

> (Also, some of the regulator usage falls into this category.. at one
> point the downstream kernel modeled gdsc's as regulators, but upstream
> uses genpd.)

Downstream still uses regulators. If we ever needed to use a downstream kernel
for whatever reason we could easily hack them back in but I don't feel like this
is a likely scenario.

Jordan

> >
> >  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c  | 10 ++
> >  drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 10 ++
> >  drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 10 ++
> >  drivers/gpu/drm/msm/msm_gpu.c|  5 ++---
> >  drivers/gpu/drm/msm/msm_gpummu.c |  6 ++
> >  drivers/gpu/drm/msm/msm_iommu.c  |  6 ++
> >  drivers/gpu/drm/msm/msm_mmu.h|  4 ++--
> >  7 files changed, 14 insertions(+), 37 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c 
> > b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> > index 58b0485dc375..3165c2db2541 100644
> > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> > @@ -30,10 +30,6 @@
> >  #define CREATE_TRACE_POINTS
> >  #include "dpu_trace.h"
> >
> > -static const char * const iommu_ports[] = {
> > -   "mdp_0",
> > -};
> > -
> >  /*
> >   * To enable overall DRM driver logging
> >   * # echo 0x2 > /sys/module/drm/parameters/debug
> > @@ -725,8 +721,7 @@ static void _dpu_kms_mmu_destroy(struct dpu_kms 
> > *dpu_kms)
> >
> > mmu = dpu_kms->base.aspace->mmu;
> >
> > -   mmu->funcs->detach(mmu, (const char **)iommu_ports,
> > -   ARRAY_SIZE(iommu_ports));
> > +   mmu->funcs->detach(mmu);
> > msm_gem_address_space_put(dpu_kms->base.aspace);
> >
> > dpu_kms->base.aspace = NULL;
> > @@ -752,8 +747,7 @@ static int _dpu_kms_mmu_init(struct dpu_kms *dpu_kms)
> > return PTR_ERR(aspace);
> > }
> >
> > -   ret = aspace->mmu->funcs->attach(aspace->mmu, iommu_ports,
> > -   ARRAY_SIZE(iommu_ports));
> > +   ret = aspace->mmu->funcs->attach(aspace->mmu);
> > if (ret) {
> > DPU_ERROR("failed to attach iommu %d\n", ret);
> > msm_gem_address_space_put(aspace);
> > diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c 
> > b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
> > index 50711ccc8691..dda05436f716 100644
> > --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
> > +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
> > @@ -157,10 +157,6 @@ static long mdp4_round_pixclk(struct msm_kms *kms, 
> > unsigned long rate,
> > }
> >  }
> >
> > -static const char * const iommu_ports[] = {
> > -   "mdp_port0_cb0", "mdp_port1_cb0",
> > -};
> > -
> >  static void mdp4_destroy(struct msm_kms *kms)
> >  {
> > struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms));
> > @@ -172,8 +168,7 @@ static void mdp4_destroy(struct msm_kms *kms)
> > drm_gem_object_put_unlocked(mdp4_kms->blank_cursor_bo);
> >
> > if (aspace) {
> > -   aspace->mmu->funcs->detach(aspace->mmu,
> > -   iommu_ports, ARRAY_SIZE(iommu_ports));
> > +   aspace->mmu->funcs->detach(aspace->mmu);
> > msm_gem_address_space_put(aspace);
> > }
> >
> > @@ -524,8 +519,7 @@ struct msm_kms *mdp4_kms_init(struct drm_device *dev)
> >
> > kms->aspace = aspace;
> >
> > -   ret = aspace->mmu->funcs->attach(aspace->mmu, iommu_ports,
> > -   ARRAY_SIZE(iommu_ports));
> > +   ret = aspace->mmu->funcs->attach(aspace->mmu);
> > if (ret)
> > goto fail;
> > } else {
> > diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c 
> > b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
> > index 91cd76a2bab1..f8bd0bfcf4b0 100644
> > --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
> > +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c

Re: [PATCH] drm/msm: Remove unused function arguments

2019-09-16 Thread Rob Clark
On Mon, Sep 16, 2019 at 1:12 PM Drew Davenport  wrote:
>
> The arguments related to IOMMU port name have been unused since
> commit 944fc36c31ed ("drm/msm: use upstream iommu") and can be removed.
>
> Signed-off-by: Drew Davenport 
> ---
> Rob, in the original commit the port name stuff was left intentionally.
> Would it be alright to remove it now?

Upstream support for snapdragon has improved considerably since then,
it's been at least a couple years since I've had to backport drm to a
downstream android vendor kernel.  (And I think the downstream vendor
kernel is getting closer to upstream.)  So I think we can drop things
that were originally left in place to simplify backporting to vendor
kernel.

(Also, some of the regulator usage falls into this category.. at one
point the downstream kernel modeled gdsc's as regulators, but upstream
uses genpd.)

BR,
-R

>
>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c  | 10 ++
>  drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 10 ++
>  drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 10 ++
>  drivers/gpu/drm/msm/msm_gpu.c|  5 ++---
>  drivers/gpu/drm/msm/msm_gpummu.c |  6 ++
>  drivers/gpu/drm/msm/msm_iommu.c  |  6 ++
>  drivers/gpu/drm/msm/msm_mmu.h|  4 ++--
>  7 files changed, 14 insertions(+), 37 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c 
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> index 58b0485dc375..3165c2db2541 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> @@ -30,10 +30,6 @@
>  #define CREATE_TRACE_POINTS
>  #include "dpu_trace.h"
>
> -static const char * const iommu_ports[] = {
> -   "mdp_0",
> -};
> -
>  /*
>   * To enable overall DRM driver logging
>   * # echo 0x2 > /sys/module/drm/parameters/debug
> @@ -725,8 +721,7 @@ static void _dpu_kms_mmu_destroy(struct dpu_kms *dpu_kms)
>
> mmu = dpu_kms->base.aspace->mmu;
>
> -   mmu->funcs->detach(mmu, (const char **)iommu_ports,
> -   ARRAY_SIZE(iommu_ports));
> +   mmu->funcs->detach(mmu);
> msm_gem_address_space_put(dpu_kms->base.aspace);
>
> dpu_kms->base.aspace = NULL;
> @@ -752,8 +747,7 @@ static int _dpu_kms_mmu_init(struct dpu_kms *dpu_kms)
> return PTR_ERR(aspace);
> }
>
> -   ret = aspace->mmu->funcs->attach(aspace->mmu, iommu_ports,
> -   ARRAY_SIZE(iommu_ports));
> +   ret = aspace->mmu->funcs->attach(aspace->mmu);
> if (ret) {
> DPU_ERROR("failed to attach iommu %d\n", ret);
> msm_gem_address_space_put(aspace);
> diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c 
> b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
> index 50711ccc8691..dda05436f716 100644
> --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
> +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
> @@ -157,10 +157,6 @@ static long mdp4_round_pixclk(struct msm_kms *kms, 
> unsigned long rate,
> }
>  }
>
> -static const char * const iommu_ports[] = {
> -   "mdp_port0_cb0", "mdp_port1_cb0",
> -};
> -
>  static void mdp4_destroy(struct msm_kms *kms)
>  {
> struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms));
> @@ -172,8 +168,7 @@ static void mdp4_destroy(struct msm_kms *kms)
> drm_gem_object_put_unlocked(mdp4_kms->blank_cursor_bo);
>
> if (aspace) {
> -   aspace->mmu->funcs->detach(aspace->mmu,
> -   iommu_ports, ARRAY_SIZE(iommu_ports));
> +   aspace->mmu->funcs->detach(aspace->mmu);
> msm_gem_address_space_put(aspace);
> }
>
> @@ -524,8 +519,7 @@ struct msm_kms *mdp4_kms_init(struct drm_device *dev)
>
> kms->aspace = aspace;
>
> -   ret = aspace->mmu->funcs->attach(aspace->mmu, iommu_ports,
> -   ARRAY_SIZE(iommu_ports));
> +   ret = aspace->mmu->funcs->attach(aspace->mmu);
> if (ret)
> goto fail;
> } else {
> diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c 
> b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
> index 91cd76a2bab1..f8bd0bfcf4b0 100644
> --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
> +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
> @@ -19,10 +19,6 @@
>  #include "msm_mmu.h"
>  #include "mdp5_kms.h"
>
> -static const char *iommu_ports[] = {
> -   "mdp_0",
> -};
> -
>  static int mdp5_hw_init(struct msm_kms *kms)
>  {
> struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms));
> @@ -233,8 +229,7 @@ static void mdp5_kms_destroy(struct msm_kms *kms)
> mdp5_pipe_destroy(mdp5_kms->hwpipes[i]);
>
> if (aspace) {
> -   aspace->mmu->funcs->detach(aspace->mmu,
> -   iommu_ports, ARRAY_SIZE(iommu_ports));
> +   aspace->mmu->funcs->detach(aspace->mmu);
> msm_gem_address_space_put(aspace);
> }
>  }
> @@ 

[PATCH] drm/msm: Remove unused function arguments

2019-09-16 Thread Drew Davenport
The arguments related to IOMMU port name have been unused since
commit 944fc36c31ed ("drm/msm: use upstream iommu") and can be removed.

Signed-off-by: Drew Davenport 
---
Rob, in the original commit the port name stuff was left intentionally.
Would it be alright to remove it now?

 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c  | 10 ++
 drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 10 ++
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 10 ++
 drivers/gpu/drm/msm/msm_gpu.c|  5 ++---
 drivers/gpu/drm/msm/msm_gpummu.c |  6 ++
 drivers/gpu/drm/msm/msm_iommu.c  |  6 ++
 drivers/gpu/drm/msm/msm_mmu.h|  4 ++--
 7 files changed, 14 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index 58b0485dc375..3165c2db2541 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -30,10 +30,6 @@
 #define CREATE_TRACE_POINTS
 #include "dpu_trace.h"
 
-static const char * const iommu_ports[] = {
-   "mdp_0",
-};
-
 /*
  * To enable overall DRM driver logging
  * # echo 0x2 > /sys/module/drm/parameters/debug
@@ -725,8 +721,7 @@ static void _dpu_kms_mmu_destroy(struct dpu_kms *dpu_kms)
 
mmu = dpu_kms->base.aspace->mmu;
 
-   mmu->funcs->detach(mmu, (const char **)iommu_ports,
-   ARRAY_SIZE(iommu_ports));
+   mmu->funcs->detach(mmu);
msm_gem_address_space_put(dpu_kms->base.aspace);
 
dpu_kms->base.aspace = NULL;
@@ -752,8 +747,7 @@ static int _dpu_kms_mmu_init(struct dpu_kms *dpu_kms)
return PTR_ERR(aspace);
}
 
-   ret = aspace->mmu->funcs->attach(aspace->mmu, iommu_ports,
-   ARRAY_SIZE(iommu_ports));
+   ret = aspace->mmu->funcs->attach(aspace->mmu);
if (ret) {
DPU_ERROR("failed to attach iommu %d\n", ret);
msm_gem_address_space_put(aspace);
diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c 
b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
index 50711ccc8691..dda05436f716 100644
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c
@@ -157,10 +157,6 @@ static long mdp4_round_pixclk(struct msm_kms *kms, 
unsigned long rate,
}
 }
 
-static const char * const iommu_ports[] = {
-   "mdp_port0_cb0", "mdp_port1_cb0",
-};
-
 static void mdp4_destroy(struct msm_kms *kms)
 {
struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms));
@@ -172,8 +168,7 @@ static void mdp4_destroy(struct msm_kms *kms)
drm_gem_object_put_unlocked(mdp4_kms->blank_cursor_bo);
 
if (aspace) {
-   aspace->mmu->funcs->detach(aspace->mmu,
-   iommu_ports, ARRAY_SIZE(iommu_ports));
+   aspace->mmu->funcs->detach(aspace->mmu);
msm_gem_address_space_put(aspace);
}
 
@@ -524,8 +519,7 @@ struct msm_kms *mdp4_kms_init(struct drm_device *dev)
 
kms->aspace = aspace;
 
-   ret = aspace->mmu->funcs->attach(aspace->mmu, iommu_ports,
-   ARRAY_SIZE(iommu_ports));
+   ret = aspace->mmu->funcs->attach(aspace->mmu);
if (ret)
goto fail;
} else {
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c 
b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
index 91cd76a2bab1..f8bd0bfcf4b0 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
@@ -19,10 +19,6 @@
 #include "msm_mmu.h"
 #include "mdp5_kms.h"
 
-static const char *iommu_ports[] = {
-   "mdp_0",
-};
-
 static int mdp5_hw_init(struct msm_kms *kms)
 {
struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms));
@@ -233,8 +229,7 @@ static void mdp5_kms_destroy(struct msm_kms *kms)
mdp5_pipe_destroy(mdp5_kms->hwpipes[i]);
 
if (aspace) {
-   aspace->mmu->funcs->detach(aspace->mmu,
-   iommu_ports, ARRAY_SIZE(iommu_ports));
+   aspace->mmu->funcs->detach(aspace->mmu);
msm_gem_address_space_put(aspace);
}
 }
@@ -737,8 +732,7 @@ struct msm_kms *mdp5_kms_init(struct drm_device *dev)
 
kms->aspace = aspace;
 
-   ret = aspace->mmu->funcs->attach(aspace->mmu, iommu_ports,
-   ARRAY_SIZE(iommu_ports));
+   ret = aspace->mmu->funcs->attach(aspace->mmu);
if (ret) {
DRM_DEV_ERROR(>dev, "failed to attach iommu: 
%d\n",
ret);
diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c
index a052364a5d74..122199af0381 100644
--- a/drivers/gpu/drm/msm/msm_gpu.c
+++ b/drivers/gpu/drm/msm/msm_gpu.c
@@ -838,7 +838,7 @@ msm_gpu_create_address_space(struct msm_gpu *gpu, struct 
platform_device *pdev,
return ERR_CAST(aspace);