diff options
author | Sharat Masetty <smasetty@codeaurora.org> | 2020-11-25 12:30:14 +0530 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2020-11-29 11:03:04 -0800 |
commit | 40a72b0c7f99cf7b856dccca9624b81140955911 (patch) | |
tree | 49cbd0bbe3cbcd1b234ce1e9a82e85571738a2f4 /drivers/gpu/drm/msm/msm_drv.c | |
parent | 9e0673c00cb0839fbe64e4ee4dbf150fd28483eb (diff) | |
download | linux-40a72b0c7f99cf7b856dccca9624b81140955911.tar.bz2 |
drm/msm: rearrange the gpu_rmw() function
The register read-modify-write construct is generic enough
that it can be used by other subsystems as needed, create
a more generic rmw() function and have the gpu_rmw() use
this new function.
Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_drv.c')
-rw-r--r-- | drivers/gpu/drm/msm/msm_drv.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index d011243c93ed..ce9bb6e929c2 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -181,6 +181,14 @@ u32 msm_readl(const void __iomem *addr) return val; } +void msm_rmw(void __iomem *addr, u32 mask, u32 or) +{ + u32 val = msm_readl(addr); + + val &= ~mask; + msm_writel(val | or, addr); +} + struct msm_vblank_work { struct work_struct work; int crtc_id; |