Message ID | 20230801101030.2040-5-keith.zhao@starfivetech.com |
---|---|
State | New |
Headers | show |
Series | DRM driver for verisilicon | expand |
Hi Am 01.08.23 um 12:10 schrieb Keith Zhao: > These are mainly used internally in vs-drm, > I'm not sure if the new modifiers can be used with the existing ones. > If there is a problem, I will improve it further. > > Signed-off-by: Keith Zhao <keith.zhao@starfivetech.com> > --- > include/uapi/drm/drm_fourcc.h | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h > index 8db7fd3f7..0b884cf50 100644 > --- a/include/uapi/drm/drm_fourcc.h > +++ b/include/uapi/drm/drm_fourcc.h > @@ -419,6 +419,7 @@ extern "C" { > #define DRM_FORMAT_MOD_VENDOR_ARM 0x08 > #define DRM_FORMAT_MOD_VENDOR_ALLWINNER 0x09 > #define DRM_FORMAT_MOD_VENDOR_AMLOGIC 0x0a > +#define DRM_FORMAT_MOD_VENDOR_VS 0x0b > > /* add more to the end as needed */ > > @@ -1562,6 +1563,32 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) > #define AMD_FMT_MOD_CLEAR(field) \ > (~((__u64)AMD_FMT_MOD_##field##_MASK << AMD_FMT_MOD_##field##_SHIFT)) > > +#define DRM_FORMAT_MOD_VS_TYPE_NORMAL 0x00 > +#define DRM_FORMAT_MOD_VS_TYPE_COMPRESSED 0x01 > +#define DRM_FORMAT_MOD_VS_TYPE_CUSTOM_10BIT 0x02 > +#define DRM_FORMAT_MOD_VS_TYPE_MASK ((__u64)0x3 << 54) > + > +#define fourcc_mod_vs_code(type, val) \ > + fourcc_mod_code(VS, ((((__u64)type) << 54) | (val))) > + > +#define DRM_FORMAT_MOD_VS_NORM_MODE_MASK 0x1F > +#define DRM_FORMAT_MOD_VS_LINEAR 0x00 This define should be removed if it does the same as DRM_FORMAT_MODE_LINEAR. > +#define DRM_FORMAT_MOD_VS_SUPER_TILED_XMAJOR 0x02 > +#define DRM_FORMAT_MOD_VS_SUPER_TILED_YMAJOR 0x03 > +#define DRM_FORMAT_MOD_VS_TILE_8X8 0x04 > +#define DRM_FORMAT_MOD_VS_TILE_8X4 0x07 > +#define DRM_FORMAT_MOD_VS_SUPER_TILED_XMAJOR_8X4 0x0B > +#define DRM_FORMAT_MOD_VS_SUPER_TILED_YMAJOR_4X8 0x0C > +#define DRM_FORMAT_MOD_VS_TILE_MODE4X4 0x15 > + The existing formats in this file have documentation on their effects and meaning. You should include similar comments here. Best regards Thomas > +#define fourcc_mod_vs_norm_code(tile) \ > + fourcc_mod_vs_code(DRM_FORMAT_MOD_VS_TYPE_NORMAL, \ > + (tile)) > + > +#define fourcc_mod_vs_custom_code(tile) \ > + fourcc_mod_vs_code(DRM_FORMAT_MOD_VS_TYPE_CUSTOM_10BIT, \ > + (tile)) > + > #if defined(__cplusplus) > } > #endif
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 8db7fd3f7..0b884cf50 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -419,6 +419,7 @@ extern "C" { #define DRM_FORMAT_MOD_VENDOR_ARM 0x08 #define DRM_FORMAT_MOD_VENDOR_ALLWINNER 0x09 #define DRM_FORMAT_MOD_VENDOR_AMLOGIC 0x0a +#define DRM_FORMAT_MOD_VENDOR_VS 0x0b /* add more to the end as needed */ @@ -1562,6 +1563,32 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) #define AMD_FMT_MOD_CLEAR(field) \ (~((__u64)AMD_FMT_MOD_##field##_MASK << AMD_FMT_MOD_##field##_SHIFT)) +#define DRM_FORMAT_MOD_VS_TYPE_NORMAL 0x00 +#define DRM_FORMAT_MOD_VS_TYPE_COMPRESSED 0x01 +#define DRM_FORMAT_MOD_VS_TYPE_CUSTOM_10BIT 0x02 +#define DRM_FORMAT_MOD_VS_TYPE_MASK ((__u64)0x3 << 54) + +#define fourcc_mod_vs_code(type, val) \ + fourcc_mod_code(VS, ((((__u64)type) << 54) | (val))) + +#define DRM_FORMAT_MOD_VS_NORM_MODE_MASK 0x1F +#define DRM_FORMAT_MOD_VS_LINEAR 0x00 +#define DRM_FORMAT_MOD_VS_SUPER_TILED_XMAJOR 0x02 +#define DRM_FORMAT_MOD_VS_SUPER_TILED_YMAJOR 0x03 +#define DRM_FORMAT_MOD_VS_TILE_8X8 0x04 +#define DRM_FORMAT_MOD_VS_TILE_8X4 0x07 +#define DRM_FORMAT_MOD_VS_SUPER_TILED_XMAJOR_8X4 0x0B +#define DRM_FORMAT_MOD_VS_SUPER_TILED_YMAJOR_4X8 0x0C +#define DRM_FORMAT_MOD_VS_TILE_MODE4X4 0x15 + +#define fourcc_mod_vs_norm_code(tile) \ + fourcc_mod_vs_code(DRM_FORMAT_MOD_VS_TYPE_NORMAL, \ + (tile)) + +#define fourcc_mod_vs_custom_code(tile) \ + fourcc_mod_vs_code(DRM_FORMAT_MOD_VS_TYPE_CUSTOM_10BIT, \ + (tile)) + #if defined(__cplusplus) } #endif
These are mainly used internally in vs-drm, I'm not sure if the new modifiers can be used with the existing ones. If there is a problem, I will improve it further. Signed-off-by: Keith Zhao <keith.zhao@starfivetech.com> --- include/uapi/drm/drm_fourcc.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)