All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Chandrabhanu Mahapatra <cmahapatra@ti.com>
Cc: linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org
Subject: Re: [PATCH 2/7] OMAPDSS: DISPC: Move DISPC specific dss_reg_fields to dispc_features
Date: Thu, 29 Nov 2012 12:05:44 +0000	[thread overview]
Message-ID: <50B74F98.2030108@ti.com> (raw)
In-Reply-To: <a5bbbc9af3ef5ca2636d3c4dea6cbbe9834e0f62.1354086150.git.cmahapatra@ti.com>

[-- Attachment #1: Type: text/plain, Size: 3279 bytes --]

On 2012-11-28 12:41, Chandrabhanu Mahapatra wrote:
> The register fields in dss_reg_fields specific to DISPC are moved from struct
> omap_dss_features to corresponding dispc_reg_fields, initialized in struct
> dispc_features, thereby enabling local access.
> 
> Signed-off-by: Chandrabhanu Mahapatra <cmahapatra@ti.com>
> ---
>  drivers/video/omap2/dss/dispc.c        |   87 ++++++++++++++++++++++++++++----
>  drivers/video/omap2/dss/dss.h          |    4 ++
>  drivers/video/omap2/dss/dss_features.c |   28 ----------
>  drivers/video/omap2/dss/dss_features.h |    7 ---
>  4 files changed, 80 insertions(+), 46 deletions(-)
> 
> diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
> index 9f259ba..21fc522 100644
> --- a/drivers/video/omap2/dss/dispc.c
> +++ b/drivers/video/omap2/dss/dispc.c
> @@ -80,6 +80,16 @@ struct dispc_irq_stats {
>  	unsigned irqs[32];
>  };
>  
> +enum dispc_feat_reg_field {
> +	FEAT_REG_FIRHINC,
> +	FEAT_REG_FIRVINC,
> +	FEAT_REG_FIFOLOWTHRESHOLD,
> +	FEAT_REG_FIFOHIGHTHRESHOLD,
> +	FEAT_REG_FIFOSIZE,
> +	FEAT_REG_HORIZONTALACCU,
> +	FEAT_REG_VERTICALACCU,
> +};
> +
>  struct dispc_features {
>  	u8 sw_start;
>  	u8 fp_start;
> @@ -107,6 +117,8 @@ struct dispc_features {
>  
>  	u32 buffer_size_unit;
>  	u32 burst_size_unit;
> +
> +	struct register_field *reg_fields;
>  };
>  
>  #define DISPC_MAX_NR_FIFOS 5
> @@ -1150,7 +1162,8 @@ static void dispc_init_fifos(void)
>  
>  	unit = dispc.feat->buffer_size_unit;
>  
> -	dss_feat_get_reg_field(FEAT_REG_FIFOSIZE, &start, &end);
> +	start = dispc.feat->reg_fields[FEAT_REG_FIFOSIZE].start;
> +	end = dispc.feat->reg_fields[FEAT_REG_FIFOSIZE].end;
>  
>  	for (fifo = 0; fifo < dispc.feat->num_fifos; ++fifo) {
>  		size = REG_GET(DISPC_OVL_FIFO_SIZE_STATUS(fifo), start, end);
> @@ -1214,8 +1227,10 @@ void dispc_ovl_set_fifo_threshold(enum omap_plane plane, u32 low, u32 high)
>  	low /= unit;
>  	high /= unit;
>  
> -	dss_feat_get_reg_field(FEAT_REG_FIFOHIGHTHRESHOLD, &hi_start, &hi_end);
> -	dss_feat_get_reg_field(FEAT_REG_FIFOLOWTHRESHOLD, &lo_start, &lo_end);
> +	hi_start = dispc.feat->reg_fields[FEAT_REG_FIFOHIGHTHRESHOLD].start;
> +	hi_end = dispc.feat->reg_fields[FEAT_REG_FIFOHIGHTHRESHOLD].end;
> +	lo_start = dispc.feat->reg_fields[FEAT_REG_FIFOLOWTHRESHOLD].start;
> +	lo_end = dispc.feat->reg_fields[FEAT_REG_FIFOLOWTHRESHOLD].end;

I think these are quite verbose. Perhaps a helper function which does
the same as dss_feat_get_reg_field() would be better. Or alternatively,
maybe something like:

const struct dss_reg_field *hi_field =
&dispc.feat->reg_fields[FEAT_REG_FIFOHIGHTHRESHOLD];

and then use "hi_field.start" instead of hi_start.

Or something else that makes the above easier to read.

> diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
> index 84a7f6a..aa273d8 100644
> --- a/drivers/video/omap2/dss/dss.h
> +++ b/drivers/video/omap2/dss/dss.h
> @@ -143,6 +143,10 @@ struct reg_field {
>  	u8 low;
>  };
>  
> +struct register_field {
> +	u8 start, end;
> +};
> +

We already have the dss_reg_field struct. I think it's better to move
that to dss.h, and use it, instead of creating an exact duplicate.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 899 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Chandrabhanu Mahapatra <cmahapatra@ti.com>
Cc: linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org
Subject: Re: [PATCH 2/7] OMAPDSS: DISPC: Move DISPC specific dss_reg_fields to dispc_features
Date: Thu, 29 Nov 2012 14:05:44 +0200	[thread overview]
Message-ID: <50B74F98.2030108@ti.com> (raw)
In-Reply-To: <a5bbbc9af3ef5ca2636d3c4dea6cbbe9834e0f62.1354086150.git.cmahapatra@ti.com>

[-- Attachment #1: Type: text/plain, Size: 3279 bytes --]

On 2012-11-28 12:41, Chandrabhanu Mahapatra wrote:
> The register fields in dss_reg_fields specific to DISPC are moved from struct
> omap_dss_features to corresponding dispc_reg_fields, initialized in struct
> dispc_features, thereby enabling local access.
> 
> Signed-off-by: Chandrabhanu Mahapatra <cmahapatra@ti.com>
> ---
>  drivers/video/omap2/dss/dispc.c        |   87 ++++++++++++++++++++++++++++----
>  drivers/video/omap2/dss/dss.h          |    4 ++
>  drivers/video/omap2/dss/dss_features.c |   28 ----------
>  drivers/video/omap2/dss/dss_features.h |    7 ---
>  4 files changed, 80 insertions(+), 46 deletions(-)
> 
> diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
> index 9f259ba..21fc522 100644
> --- a/drivers/video/omap2/dss/dispc.c
> +++ b/drivers/video/omap2/dss/dispc.c
> @@ -80,6 +80,16 @@ struct dispc_irq_stats {
>  	unsigned irqs[32];
>  };
>  
> +enum dispc_feat_reg_field {
> +	FEAT_REG_FIRHINC,
> +	FEAT_REG_FIRVINC,
> +	FEAT_REG_FIFOLOWTHRESHOLD,
> +	FEAT_REG_FIFOHIGHTHRESHOLD,
> +	FEAT_REG_FIFOSIZE,
> +	FEAT_REG_HORIZONTALACCU,
> +	FEAT_REG_VERTICALACCU,
> +};
> +
>  struct dispc_features {
>  	u8 sw_start;
>  	u8 fp_start;
> @@ -107,6 +117,8 @@ struct dispc_features {
>  
>  	u32 buffer_size_unit;
>  	u32 burst_size_unit;
> +
> +	struct register_field *reg_fields;
>  };
>  
>  #define DISPC_MAX_NR_FIFOS 5
> @@ -1150,7 +1162,8 @@ static void dispc_init_fifos(void)
>  
>  	unit = dispc.feat->buffer_size_unit;
>  
> -	dss_feat_get_reg_field(FEAT_REG_FIFOSIZE, &start, &end);
> +	start = dispc.feat->reg_fields[FEAT_REG_FIFOSIZE].start;
> +	end = dispc.feat->reg_fields[FEAT_REG_FIFOSIZE].end;
>  
>  	for (fifo = 0; fifo < dispc.feat->num_fifos; ++fifo) {
>  		size = REG_GET(DISPC_OVL_FIFO_SIZE_STATUS(fifo), start, end);
> @@ -1214,8 +1227,10 @@ void dispc_ovl_set_fifo_threshold(enum omap_plane plane, u32 low, u32 high)
>  	low /= unit;
>  	high /= unit;
>  
> -	dss_feat_get_reg_field(FEAT_REG_FIFOHIGHTHRESHOLD, &hi_start, &hi_end);
> -	dss_feat_get_reg_field(FEAT_REG_FIFOLOWTHRESHOLD, &lo_start, &lo_end);
> +	hi_start = dispc.feat->reg_fields[FEAT_REG_FIFOHIGHTHRESHOLD].start;
> +	hi_end = dispc.feat->reg_fields[FEAT_REG_FIFOHIGHTHRESHOLD].end;
> +	lo_start = dispc.feat->reg_fields[FEAT_REG_FIFOLOWTHRESHOLD].start;
> +	lo_end = dispc.feat->reg_fields[FEAT_REG_FIFOLOWTHRESHOLD].end;

I think these are quite verbose. Perhaps a helper function which does
the same as dss_feat_get_reg_field() would be better. Or alternatively,
maybe something like:

const struct dss_reg_field *hi_field =
&dispc.feat->reg_fields[FEAT_REG_FIFOHIGHTHRESHOLD];

and then use "hi_field.start" instead of hi_start.

Or something else that makes the above easier to read.

> diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
> index 84a7f6a..aa273d8 100644
> --- a/drivers/video/omap2/dss/dss.h
> +++ b/drivers/video/omap2/dss/dss.h
> @@ -143,6 +143,10 @@ struct reg_field {
>  	u8 low;
>  };
>  
> +struct register_field {
> +	u8 start, end;
> +};
> +

We already have the dss_reg_field struct. I think it's better to move
that to dss.h, and use it, instead of creating an exact duplicate.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 899 bytes --]

  reply	other threads:[~2012-11-29 12:05 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-28 10:41 [PATCH 0/7] OMAPDSS: Cleanup omap_dss_features Chandrabhanu Mahapatra
2012-11-28 10:53 ` Chandrabhanu Mahapatra
2012-11-28 10:41 ` [PATCH 1/7] OMAPDSS: DISPC: Move burst_size and buffer_size to dispc_features Chandrabhanu Mahapatra
2012-11-28 10:53   ` Chandrabhanu Mahapatra
2012-11-29 12:01   ` Tomi Valkeinen
2012-11-29 12:01     ` Tomi Valkeinen
2012-11-28 10:41 ` [PATCH 2/7] OMAPDSS: DISPC: Move DISPC specific dss_reg_fields " Chandrabhanu Mahapatra
2012-11-28 10:53   ` Chandrabhanu Mahapatra
2012-11-29 12:05   ` Tomi Valkeinen [this message]
2012-11-29 12:05     ` Tomi Valkeinen
2012-11-30 10:02     ` Chandrabhanu Mahapatra
2012-11-30 10:14       ` Chandrabhanu Mahapatra
2012-11-30 10:25       ` Tomi Valkeinen
2012-11-30 10:25         ` Tomi Valkeinen
2012-11-29 12:18   ` Tomi Valkeinen
2012-11-29 12:18     ` Tomi Valkeinen
2012-12-03  6:29     ` Chandrabhanu Mahapatra
2012-12-03  6:41       ` Chandrabhanu Mahapatra
2012-12-04  8:16       ` Tomi Valkeinen
2012-12-04  8:16         ` Tomi Valkeinen
2012-11-28 10:41 ` [PATCH 3/7] OMAPDSS: DISPC: Move DISPC specific dss_params " Chandrabhanu Mahapatra
2012-11-28 10:53   ` Chandrabhanu Mahapatra
2012-11-29 12:08   ` Tomi Valkeinen
2012-11-29 12:08     ` Tomi Valkeinen
2012-11-28 10:41 ` [PATCH 4/7] OMAPDSS: DSI: Move DSI specific reg_fields to dsi_feats Chandrabhanu Mahapatra
2012-11-28 10:53   ` Chandrabhanu Mahapatra
2012-11-28 10:41 ` [PATCH 5/7] OMAPDSS: DSI: Move DSI specific dss_params " Chandrabhanu Mahapatra
2012-11-28 10:53   ` Chandrabhanu Mahapatra
2012-11-28 10:41 ` [PATCH 6/7] OMAPDSS: DSS: Add members fld_dispc_clk_switch and dss_fck_max Chandrabhanu Mahapatra
2012-11-28 10:53   ` Chandrabhanu Mahapatra
2012-11-28 10:41 ` [PATCH 7/7] OMAPDSS: DSI: Add FEAT_PARAM_DSS_FCK Chandrabhanu Mahapatra
2012-11-28 10:53   ` Chandrabhanu Mahapatra
2012-12-05 10:16 ` [PATCH V2 0/6] OMAPDSS: Cleanup omap_dss_features Chandrabhanu Mahapatra
2012-12-05 10:28   ` Chandrabhanu Mahapatra
2012-12-05 10:16   ` [PATCH V2 1/6] OMAPDSS: DISPC: Move burst_size and buffer_size to dispc_features Chandrabhanu Mahapatra
2012-12-05 10:28     ` Chandrabhanu Mahapatra
2012-12-05 10:16   ` [PATCH V2 2/6] OMAPDSS: DISPC: Move DISPC specific dss_reg_fields " Chandrabhanu Mahapatra
2012-12-05 10:28     ` Chandrabhanu Mahapatra
2012-12-17 12:37     ` Tomi Valkeinen
2012-12-17 12:37       ` Tomi Valkeinen
2012-12-19  9:27       ` Chandrabhanu Mahapatra
2012-12-19  9:39         ` Chandrabhanu Mahapatra
2012-12-05 10:16   ` [PATCH V2 3/6] OMAPDSS: DISPC: Move DISPC specific dss_params " Chandrabhanu Mahapatra
2012-12-05 10:28     ` Chandrabhanu Mahapatra
2012-12-05 10:16   ` [PATCH V2 4/6] OMAPDSS: DSI: Move DSI specific reg_fields to dsi_feats Chandrabhanu Mahapatra
2012-12-05 10:28     ` Chandrabhanu Mahapatra
2012-12-17 12:23     ` Tomi Valkeinen
2012-12-17 12:23       ` Tomi Valkeinen
2012-12-19  8:58       ` Chandrabhanu Mahapatra
2012-12-19  9:10         ` Chandrabhanu Mahapatra
2012-12-05 10:16   ` [PATCH V2 5/6] OMAPDSS: DSI: Move DSI specific dss_params " Chandrabhanu Mahapatra
2012-12-05 10:28     ` Chandrabhanu Mahapatra
2012-12-05 10:16   ` [PATCH V2 6/6] OMAPDSS: DSS: Add members fld_dispc_clk_switch and dss_fck_max Chandrabhanu Mahapatra
2012-12-05 10:28     ` Chandrabhanu Mahapatra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50B74F98.2030108@ti.com \
    --to=tomi.valkeinen@ti.com \
    --cc=cmahapatra@ti.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.