Hi,

On Tue, Feb 13, 2018 at 02:00:20PM +0200, Laurent Pinchart wrote:
> The anoonymous dss structure in dss.c is the top-level component in the
> omapdss driver. As such it should store all internal instance-specific
> data that is currently stored in global variables. This however requires
> both naming the structure to pass it around functions, and accessing it
> from various locations in the omapdss driver. While we could implement
> get and set functions for every field that needs to be accessed outside
> of dss.c, that would introduce overhead and complexity that we could
> avoid by exposing the structure to internal components of the omapdss
> driver. Do so to prepare for removal of global variables.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> ---

Reviewed-by: Sebastian Reichel <sebastian.reic...@collabora.co.uk>

-- Sebastian

>  drivers/gpu/drm/omapdrm/dss/dss.c | 29 +----------------------------
>  drivers/gpu/drm/omapdrm/dss/dss.h | 29 +++++++++++++++++++++++++++++
>  2 files changed, 30 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/dss/dss.c 
> b/drivers/gpu/drm/omapdrm/dss/dss.c
> index d5490336e7c7..245d8c0ae461 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dss.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dss.c
> @@ -48,8 +48,6 @@
>  #include "omapdss.h"
>  #include "dss.h"
>  
> -#define DSS_SZ_REGS                  SZ_512
> -
>  struct dss_reg {
>       u16 idx;
>  };
> @@ -90,32 +88,7 @@ struct dss_features {
>       bool has_lcd_clk_src;
>  };
>  
> -static struct {
> -     struct platform_device *pdev;
> -     void __iomem    *base;
> -     struct regmap   *syscon_pll_ctrl;
> -     u32             syscon_pll_ctrl_offset;
> -
> -     struct clk      *parent_clk;
> -     struct clk      *dss_clk;
> -     unsigned long   dss_clk_rate;
> -
> -     unsigned long   cache_req_pck;
> -     unsigned long   cache_prate;
> -     struct dispc_clock_info cache_dispc_cinfo;
> -
> -     enum dss_clk_source dsi_clk_source[MAX_NUM_DSI];
> -     enum dss_clk_source dispc_clk_source;
> -     enum dss_clk_source lcd_clk_source[MAX_DSS_LCD_MANAGERS];
> -
> -     bool            ctx_valid;
> -     u32             ctx[DSS_SZ_REGS / sizeof(u32)];
> -
> -     const struct dss_features *feat;
> -
> -     struct dss_pll  *video1_pll;
> -     struct dss_pll  *video2_pll;
> -} dss;
> +static struct dss_device dss;
>  
>  static const char * const dss_generic_clk_source_names[] = {
>       [DSS_CLK_SRC_FCK]       = "FCK",
> diff --git a/drivers/gpu/drm/omapdrm/dss/dss.h 
> b/drivers/gpu/drm/omapdrm/dss/dss.h
> index 7f3fa5330408..257ff7c62764 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/dss.h
> @@ -235,6 +235,35 @@ struct dss_lcd_mgr_config {
>  struct seq_file;
>  struct platform_device;
>  
> +#define DSS_SZ_REGS                  SZ_512
> +
> +struct dss_device {
> +     struct platform_device *pdev;
> +     void __iomem    *base;
> +     struct regmap   *syscon_pll_ctrl;
> +     u32             syscon_pll_ctrl_offset;
> +
> +     struct clk      *parent_clk;
> +     struct clk      *dss_clk;
> +     unsigned long   dss_clk_rate;
> +
> +     unsigned long   cache_req_pck;
> +     unsigned long   cache_prate;
> +     struct dispc_clock_info cache_dispc_cinfo;
> +
> +     enum dss_clk_source dsi_clk_source[MAX_NUM_DSI];
> +     enum dss_clk_source dispc_clk_source;
> +     enum dss_clk_source lcd_clk_source[MAX_DSS_LCD_MANAGERS];
> +
> +     bool            ctx_valid;
> +     u32             ctx[DSS_SZ_REGS / sizeof(u32)];
> +
> +     const struct dss_features *feat;
> +
> +     struct dss_pll  *video1_pll;
> +     struct dss_pll  *video2_pll;
> +};
> +
>  /* core */
>  static inline int dss_set_min_bus_tput(struct device *dev, unsigned long 
> tput)
>  {
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

Attachment: signature.asc
Description: PGP signature

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

Reply via email to