disp: msm: sde: configure the dnsc_blur hw block

Add changes to configure the downscale blur hardware block based on
the conifgs set by user-mode. Program the ctl's writeback flush and
active bits when dnsc_blur is enabled. Bind the pingpong block that
feeds pixels to dnsc_blur hw block. Disable the active bits and unbind
the pp block binding during wb disable.

Change-Id: I1961ab437e344b13d0c186c1675a5bf79b84ea74
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
This commit is contained in:
Veera Sundaram Sankaran
2021-09-15 16:20:50 -07:00
förälder 93ec98a33e
incheckning cc23729c87
5 ändrade filer med 214 tillägg och 34 borttagningar

Visa fil

@@ -18,6 +18,7 @@
#define SDE_CONNECTOR_NAME_SIZE 16
#define SDE_CONNECTOR_DHDR_MEMPOOL_MAX_SIZE SZ_32
#define MAX_CMD_RECEIVE_SIZE 256
#define DNSC_BLUR_MAX_COUNT 1
struct sde_connector;
struct sde_connector_state;
@@ -678,6 +679,9 @@ struct sde_connector {
* @old_topology_name: topology of previous atomic state. remove this in later
* kernel versions which provide drm_atomic_state old_state pointers
* @cont_splash_populated: State was populated as part of cont. splash
* @dnsc_blur_count: Number of downscale blur blocks used
* @dnsc_blur_cfg: Configs for the downscale blur block
* @dnsc_blur_lut: LUT idx used for the Gaussian filter LUTs in downscale blur block
*/
struct sde_connector_state {
struct drm_connector_state base;
@@ -694,6 +698,10 @@ struct sde_connector_state {
enum sde_rm_topology_name old_topology_name;
bool cont_splash_populated;
u32 dnsc_blur_count;
struct sde_drm_dnsc_blur_cfg dnsc_blur_cfg[DNSC_BLUR_MAX_COUNT];
u32 dnsc_blur_lut;
};
/**