Loading drivers/gpu/drm/msm/sde/sde_hw_rot.c +20 −0 Original line number Diff line number Diff line Loading @@ -778,6 +778,25 @@ static size_t sde_hw_rot_get_cache_size(struct sde_hw_rot *hw) return hw->caps->slice_size; } /** * sde_hw_rot_get_maxlinewidth - get maximum line width of rotator * @hw: Pointer to rotator hardware driver * return: maximum line width */ static int sde_hw_rot_get_maxlinewidth(struct sde_hw_rot *hw) { struct platform_device *pdev; if (!hw || !hw->caps || !hw->caps->pdev) { SDE_ERROR("invalid rotator hw\n"); return 0; } pdev = hw->caps->pdev; return sde_rotator_inline_get_maxlinewidth(pdev); } /** * _setup_rot_ops - setup rotator operations * @ops: Pointer to operation table Loading @@ -790,6 +809,7 @@ static void _setup_rot_ops(struct sde_hw_rot_ops *ops, unsigned long features) ops->get_format_caps = sde_hw_rot_get_format_caps; ops->get_downscale_caps = sde_hw_rot_get_downscale_caps; ops->get_cache_size = sde_hw_rot_get_cache_size; ops->get_maxlinewidth = sde_hw_rot_get_maxlinewidth; } /** Loading drivers/gpu/drm/msm/sde/sde_hw_rot.h +1 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ struct sde_hw_rot_ops { struct sde_hw_rot *hw); const char *(*get_downscale_caps)(struct sde_hw_rot *hw); size_t (*get_cache_size)(struct sde_hw_rot *hw); int (*get_maxlinewidth)(struct sde_hw_rot *hw); }; /** Loading drivers/gpu/drm/msm/sde/sde_plane.c +4 −0 Original line number Diff line number Diff line Loading @@ -2142,6 +2142,10 @@ static void sde_plane_rot_install_caps(struct drm_plane *plane) sde_kms_info_add_keyint(info, "cache_size", rot_hw->ops.get_cache_size(rot_hw)); if (rot_hw->ops.get_maxlinewidth) sde_kms_info_add_keyint(info, "max_linewidth", rot_hw->ops.get_maxlinewidth(rot_hw)); msm_property_set_blob(&psde->property_info, &psde->blob_rot_caps, info->data, info->len, PLANE_PROP_ROT_CAPS_V1); Loading Loading
drivers/gpu/drm/msm/sde/sde_hw_rot.c +20 −0 Original line number Diff line number Diff line Loading @@ -778,6 +778,25 @@ static size_t sde_hw_rot_get_cache_size(struct sde_hw_rot *hw) return hw->caps->slice_size; } /** * sde_hw_rot_get_maxlinewidth - get maximum line width of rotator * @hw: Pointer to rotator hardware driver * return: maximum line width */ static int sde_hw_rot_get_maxlinewidth(struct sde_hw_rot *hw) { struct platform_device *pdev; if (!hw || !hw->caps || !hw->caps->pdev) { SDE_ERROR("invalid rotator hw\n"); return 0; } pdev = hw->caps->pdev; return sde_rotator_inline_get_maxlinewidth(pdev); } /** * _setup_rot_ops - setup rotator operations * @ops: Pointer to operation table Loading @@ -790,6 +809,7 @@ static void _setup_rot_ops(struct sde_hw_rot_ops *ops, unsigned long features) ops->get_format_caps = sde_hw_rot_get_format_caps; ops->get_downscale_caps = sde_hw_rot_get_downscale_caps; ops->get_cache_size = sde_hw_rot_get_cache_size; ops->get_maxlinewidth = sde_hw_rot_get_maxlinewidth; } /** Loading
drivers/gpu/drm/msm/sde/sde_hw_rot.h +1 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ struct sde_hw_rot_ops { struct sde_hw_rot *hw); const char *(*get_downscale_caps)(struct sde_hw_rot *hw); size_t (*get_cache_size)(struct sde_hw_rot *hw); int (*get_maxlinewidth)(struct sde_hw_rot *hw); }; /** Loading
drivers/gpu/drm/msm/sde/sde_plane.c +4 −0 Original line number Diff line number Diff line Loading @@ -2142,6 +2142,10 @@ static void sde_plane_rot_install_caps(struct drm_plane *plane) sde_kms_info_add_keyint(info, "cache_size", rot_hw->ops.get_cache_size(rot_hw)); if (rot_hw->ops.get_maxlinewidth) sde_kms_info_add_keyint(info, "max_linewidth", rot_hw->ops.get_maxlinewidth(rot_hw)); msm_property_set_blob(&psde->property_info, &psde->blob_rot_caps, info->data, info->len, PLANE_PROP_ROT_CAPS_V1); Loading