[Intel-gfx] [PATCH 1/2] drm/i915/display/vlv: fix pixel overlap register update
Jani Nikula
jani.nikula at linux.intel.com
Mon Dec 19 09:35:16 UTC 2022
On Mon, 19 Dec 2022, Andrzej Hajda <andrzej.hajda at intel.com> wrote:
> To update properly bits in the register the mask should be used
> to clear old value and then the result should be or-ed with new
> value, for such updates there is separate helper intel_de_rmw.
>
> Signed-off-by: Andrzej Hajda <andrzej.hajda at intel.com>
Seems like the right thing to do.
Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/i915/display/vlv_dsi.c | 24 +++++++++---------------
> 1 file changed, 9 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
> index 662bdb656aa304..f5268997a3e172 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
> @@ -649,23 +649,17 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder,
> enum port port;
>
> if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) {
> - u32 temp;
> + u32 temp = intel_dsi->pixel_overlap;
> +
> if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) {
> - for_each_dsi_port(port, intel_dsi->ports) {
> - temp = intel_de_read(dev_priv,
> - MIPI_CTRL(port));
> - temp &= ~BXT_PIXEL_OVERLAP_CNT_MASK |
> - intel_dsi->pixel_overlap <<
> - BXT_PIXEL_OVERLAP_CNT_SHIFT;
> - intel_de_write(dev_priv, MIPI_CTRL(port),
> - temp);
> - }
> + for_each_dsi_port(port, intel_dsi->ports)
> + intel_de_rmw(dev_priv, MIPI_CTRL(port),
> + BXT_PIXEL_OVERLAP_CNT_MASK,
> + temp << BXT_PIXEL_OVERLAP_CNT_SHIFT);
> } else {
> - temp = intel_de_read(dev_priv, VLV_CHICKEN_3);
> - temp &= ~PIXEL_OVERLAP_CNT_MASK |
> - intel_dsi->pixel_overlap <<
> - PIXEL_OVERLAP_CNT_SHIFT;
> - intel_de_write(dev_priv, VLV_CHICKEN_3, temp);
> + intel_de_rmw(dev_priv, VLV_CHICKEN_3,
> + PIXEL_OVERLAP_CNT_MASK,
> + temp << PIXEL_OVERLAP_CNT_SHIFT);
> }
> }
--
Jani Nikula, Intel Open Source Graphics Center
More information about the Intel-gfx
mailing list