[v3,0/4] Add pixel formats used in Synatpics SoC

Message ID 20221101100448.66712-1-randy.li@synaptics.com
Headers
Series Add pixel formats used in Synatpics SoC |

Message

Hsia-Jun Li Nov. 1, 2022, 10:04 a.m. UTC
  From: "Hsia-Jun(Randy) Li" <randy.li@synaptics.com>

Those pixel formats are used in Synaptics's VideoSmart series SoCs,
likes VS640, VS680. I just disclose the pixel formats used in the video
codecs and display pipeline this time. Actually any device connected to
the MTR module could support those tiled and compressed pixel formats.

We may not be able to post any drivers here in a short time, the most of
work in this platform is done in the Trusted Execution Environment and
we didn't use the optee event its client framework.

Please notice that, the memory planes needed for video codecs could be
one more than display case. That extra planes in the video codecs is
for the decoding internal usage, it can't append to the luma or chroma
buffer as many other drivers do, because this buffer could be only
accessed by the video codecs itself, it requests a different memory
security attributes. There is not a proper place in v4l2 m2m to allocate
a large size buffer, we don't know when the users won't allocate more
graphics buffers. Although we could allocate it in a step likes
STREAMON, it would lead unusual delaying in starting of video playbacl.

https://synaptics.com/products/multimedia-solutions

Changlog
v3:
There was a mistake in format macro.
Correcting the description of 64L4 variant modifiers.
v2:
The DRM modifiers in the first draft is too simple, it can't tell
the tiles in group attribute in memory layout.
Removing the v4l2 fourcc. Adding a document for the future v4l2 extended
fmt.
v1:
first draft of DRM modifiers
Try to put basic tile formats into v4l2 fourcc

Hsia-Jun(Randy) Li (3):
  drm/fourcc: Add Synaptics VideoSmart tiled modifiers
  media: videodev2.h: add pixel format modifiers
  media: videodev2.h: add Synaptics tiled modifiers

Randy Li (1):
  media: docs: Add Synpatics tile modifiers

 .../media/v4l/pixfmt-synaptics.rst            | 80 +++++++++++++++++++
 .../userspace-api/media/v4l/pixfmt.rst        |  1 +
 include/uapi/drm/drm_fourcc.h                 | 75 +++++++++++++++++
 include/uapi/linux/videodev2.h                | 50 ++++++++++++
 4 files changed, 206 insertions(+)
 create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-synaptics.rst