> Subject: [PATCH 2/4] drm/i915/vbt: add anonymous structs to group DSI VBT
> defs
> 
> The grouping of DSI VBT definitions is hard to follow and match against the
> spec. Use anonymous structs and add comments with the spec description.
> 
> Signed-off-by: Jani Nikula <jani.nik...@intel.com>

LGTM,
Reviewed-by: Suraj Kandpal <suraj.kand...@intel.com>

> ---
>  .../gpu/drm/i915/display/intel_dsi_vbt_defs.h | 87 ++++++++++---------
>  1 file changed, 47 insertions(+), 40 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt_defs.h
> b/drivers/gpu/drm/i915/display/intel_dsi_vbt_defs.h
> index f83d42ed0c5a..7ac872dbba8d 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt_defs.h
> +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt_defs.h
> @@ -47,53 +47,55 @@ struct mipi_config {
>       u16 panel_id;
> 
>       /* General Params */
> -     u32 enable_dithering:1;
> -     u32 rsvd1:1;
> -     u32 is_bridge:1;
> +     struct {
> +             u32 enable_dithering:1;
> +             u32 rsvd1:1;
> +             u32 is_bridge:1;
> 
> -     u32 panel_arch_type:2;
> -     u32 is_cmd_mode:1;
> +             u32 panel_arch_type:2;
> +             u32 is_cmd_mode:1;
> 
>  #define NON_BURST_SYNC_PULSE 0x1
>  #define NON_BURST_SYNC_EVENTS        0x2
>  #define BURST_MODE           0x3
> -     u32 video_transfer_mode:2;
> +             u32 video_transfer_mode:2;
> 
> -     u32 cabc_supported:1;
> +             u32 cabc_supported:1;
>  #define PPS_BLC_PMIC   0
>  #define PPS_BLC_SOC    1
> -     u32 pwm_blc:1;
> +             u32 pwm_blc:1;
> 
> -     /* Bit 13:10 */
>  #define PIXEL_FORMAT_RGB565                  0x1
>  #define PIXEL_FORMAT_RGB666                  0x2
>  #define PIXEL_FORMAT_RGB666_LOOSELY_PACKED   0x3
>  #define PIXEL_FORMAT_RGB888                  0x4
> -     u32 videomode_color_format:4;
> +             u32 videomode_color_format:4;
> 
> -     /* Bit 15:14 */
>  #define ENABLE_ROTATION_0    0x0
>  #define ENABLE_ROTATION_90   0x1
>  #define ENABLE_ROTATION_180  0x2
>  #define ENABLE_ROTATION_270  0x3
> -     u32 rotation:2;
> -     u32 bta_enabled:1;
> -     u32 rsvd2:15;
> +             u32 rotation:2;
> +             u32 bta_enabled:1;
> +             u32 rsvd2:15;
> +     } __packed;
> 
> -     /* 2 byte Port Description */
> +     /* Port Desc */
> +     struct {
>  #define DUAL_LINK_NOT_SUPPORTED      0
>  #define DUAL_LINK_FRONT_BACK 1
>  #define DUAL_LINK_PIXEL_ALT  2
> -     u16 dual_link:2;
> -     u16 lane_cnt:2;
> -     u16 pixel_overlap:3;
> -     u16 rgb_flip:1;
> +             u16 dual_link:2;
> +             u16 lane_cnt:2;
> +             u16 pixel_overlap:3;
> +             u16 rgb_flip:1;
>  #define DL_DCS_PORT_A                        0x00
>  #define DL_DCS_PORT_C                        0x01
>  #define DL_DCS_PORT_A_AND_C          0x02
> -     u16 dl_dcs_cabc_ports:2;
> -     u16 dl_dcs_backlight_ports:2;
> -     u16 rsvd3:4;
> +             u16 dl_dcs_cabc_ports:2;
> +             u16 dl_dcs_backlight_ports:2;
> +             u16 rsvd3:4;
> +     } __packed;
> 
>       u16 rsvd4;
> 
> @@ -102,18 +104,22 @@ struct mipi_config {
>       u32 dsi_ddr_clk;
>       u32 bridge_ref_clk;
> 
> +     /* LP Byte Clock */
> +     struct {
>  #define  BYTE_CLK_SEL_20MHZ          0
>  #define  BYTE_CLK_SEL_10MHZ          1
>  #define  BYTE_CLK_SEL_5MHZ           2
> -     u8 byte_clk_sel:2;
> -
> -     u8 rsvd6:6;
> -
> -     /* DPHY Flags */
> -     u16 dphy_param_valid:1;
> -     u16 eot_pkt_disabled:1;
> -     u16 enable_clk_stop:1;
> -     u16 rsvd7:13;
> +             u8 byte_clk_sel:2;
> +             u8 rsvd6:6;
> +     } __packed;
> +
> +     /* DPhy Flags */
> +     struct {
> +             u16 dphy_param_valid:1;
> +             u16 eot_pkt_disabled:1;
> +             u16 enable_clk_stop:1;
> +             u16 rsvd7:13;
> +     } __packed;
> 
>       u32 hs_tx_timeout;
>       u32 lp_rx_timeout;
> @@ -123,14 +129,16 @@ struct mipi_config {
>       u32 dbi_bw_timer;
>       u32 lp_byte_clk_val;
> 
> -     /*  4 byte Dphy Params */
> -     u32 prepare_cnt:6;
> -     u32 rsvd8:2;
> -     u32 clk_zero_cnt:8;
> -     u32 trail_cnt:5;
> -     u32 rsvd9:3;
> -     u32 exit_zero_cnt:6;
> -     u32 rsvd10:2;
> +     /*  DPhy Params */
> +     struct {
> +             u32 prepare_cnt:6;
> +             u32 rsvd8:2;
> +             u32 clk_zero_cnt:8;
> +             u32 trail_cnt:5;
> +             u32 rsvd9:3;
> +             u32 exit_zero_cnt:6;
> +             u32 rsvd10:2;
> +     } __packed;
> 
>       u32 clk_lane_switch_cnt;
>       u32 hl_switch_cnt;
> @@ -168,7 +176,6 @@ struct mipi_config {
>       u8 reset_r_n;
>       u8 pwr_down_r;
>       u8 stdby_r_n;
> -
>  } __packed;
> 
>  /* all delays have a unit of 100us */
> --
> 2.47.2

Reply via email to