All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hsia-Jun Li <randy.li@synaptics.com>
To: dri-devel@lists.freedesktop.org
Cc: airlied@linux.ie, ayaka@soulik.info,
	sakari.ailus@linux.intel.com, ezequiel@vanguardiasur.com.ar,
	tzimmermann@suse.de, linux-kernel@vger.kernel.org,
	laurent.pinchart@ideasonboard.com, mchehab@kernel.org,
	tfiga@chromium.org, mripard@kernel.org, ribalda@chromium.org,
	maarten.lankhorst@linux.intel.com, linux-media@vger.kernel.org,
	sebastian.hesselbarth@gmail.com, helen.koike@collabora.com,
	nicolas@ndufresne.ca, linux-arm-kernel@lists.infradead.org,
	Hsia-Jun Li <randy.li@synaptics.com>
Subject: [PATCH v5 2/2] Documentation/gpu: Add Synaptics tiling formats documentation
Date: Wed, 30 Nov 2022 17:21:49 +0800	[thread overview]
Message-ID: <20221130092149.102788-3-randy.li@synaptics.com> (raw)
In-Reply-To: <20221130092149.102788-1-randy.li@synaptics.com>

From: Randy Li <ayaka@soulik.info>

Signed-off-by: Randy Li <ayaka@soulik.info>
Signed-off-by: Hsia-Jun(Randy) Li <randy.li@synaptics.com>
---
 Documentation/gpu/drivers.rst   |   1 +
 Documentation/gpu/synaptics.rst | 104 ++++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+)
 create mode 100644 Documentation/gpu/synaptics.rst

diff --git a/Documentation/gpu/drivers.rst b/Documentation/gpu/drivers.rst
index 3a52f48215a3..7e820c93d994 100644
--- a/Documentation/gpu/drivers.rst
+++ b/Documentation/gpu/drivers.rst
@@ -18,6 +18,7 @@ GPU Driver Documentation
    xen-front
    afbc
    komeda-kms
+   synaptics
 
 .. only::  subproject and html
 
diff --git a/Documentation/gpu/synaptics.rst b/Documentation/gpu/synaptics.rst
new file mode 100644
index 000000000000..b0564d2fe3ce
--- /dev/null
+++ b/Documentation/gpu/synaptics.rst
@@ -0,0 +1,104 @@
+.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
+
+================
+Synaptics Tiling
+================
+
+The tiling pixel formats in Synpatics Video Smart platform have
+many variants. Tiles could form the group of tiles(GOT), pixels
+within a group rectangle are stored into tile.
+There are two parameters which consist a modifier described
+the (nearest) width and height pixels in a group.
+
+Meanwhile, the tile in a group may not follow dimension
+layout, tile could form a small group of tiles, then that (sub)group
+of tiles would form a bigger group. We won't describe the dimension
+layout inside the group of tiles here. The layout of the group
+of tiles is fixed with the group width and height parameters
+in the same generation of the platform.
+
+Compression
+===========
+The proprietary lossless image compression protocol in Synaptics
+could minimizes the amount of data transferred (less memory bandwidth
+consumption) between devices. It would usually apply to the tiling
+pixel format.
+
+Each component would request an extra page aligned length buffer
+for storing the compression meta data. Also a 32 bytes parameters
+set would come with a compression meta data buffer.
+
+The component here corresponds to a signal type (i.e. Luma, Chroma).
+They could be encoded into one or multiple metadata planes, but
+their compression parameters would still be individual.
+
+Pixel format modifiers
+======================
+Addition alignment requirement for stride and size of a memory plane
+could apply beyond what has been mentioned below. Remember always
+negotiating with all the devices in pipeline before allocation.
+
+.. raw:: latex
+
+    \small
+
+.. tabularcolumns:: |p{5.8cm}|p{1.2cm}|p{10.3cm}|
+
+.. cssclass:: longtable
+
+.. flat-table:: Synpatics Image Format Modifiers
+    :header-rows:  1
+    :stub-columns: 0
+    :widths:       3 1 8
+
+    * - Identifier
+      - Fourcc
+      - Details
+    * .. _DRM-FORMAT-MOD-SYNA-V4H1
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H1``
+      - ``DRM_FORMAT_NV12``
+      - The plain uncompressed 8 bits tile format. It sounds similar to
+	Intel's Y-tile. but it won't take any pixel from the next X direction
+	in a tile group. The line stride and image height must be aligned to
+	a multiple of 16. The height of chrominance plane would plus 8.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H3P8
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H3P8``
+      - ``DRM_FORMAT_NV15``
+      - The plain uncompressed 10 bits tile format. It stores pixel in 2D
+	3x4 tiles with a 8bits padding to each of tile. Then a tile is in a
+	128 bits cache line.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H1-64L4-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H1_64L4_COMPRESSED``
+      - ``DRM_FORMAT_NV12``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H1``.
+	A group of tiles would contain 64x4 pixels, where a tile has 1x4
+	pixel.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H3P8-64L4-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H3P8_64L4_COMPRESSED``
+      - ``DRM_FORMAT_NV15``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H3P8``.
+	A group of tiles would contains 48x4 pixels, where a tile has 3x4 pixels
+	and a 8 bits padding in the end of a tile. A group of tiles would
+	be 256 bytes.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H1-128L128-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H1_128L128_COMPRESSED``
+      - ``DRM_FORMAT_NV12``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H1``.
+	A group of tiles would contain 128x32 pixels, where a tile has 1x4 pixel.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H3P8-128L128-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H3P8_128L128_COMPRESSED``
+      - ``DRM_FORMAT_NV15``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H3P8``.
+	A group of tiles would contains 96x128 pixels, where a tile has 3x4 pixels
+	and a 8 bits padding in the end of a tile. A group of tiles would 
+	be 16 KiB.
+
+.. raw:: latex
+
+    \normalsize
-- 
2.37.3


WARNING: multiple messages have this Message-ID (diff)
From: Hsia-Jun Li <randy.li@synaptics.com>
To: dri-devel@lists.freedesktop.org
Cc: nicolas@ndufresne.ca, sakari.ailus@linux.intel.com,
	airlied@linux.ie, ayaka@soulik.info,
	linux-kernel@vger.kernel.org, tfiga@chromium.org,
	Hsia-Jun Li <randy.li@synaptics.com>,
	helen.koike@collabora.com, linux-media@vger.kernel.org,
	ezequiel@vanguardiasur.com.ar, tzimmermann@suse.de,
	ribalda@chromium.org, sebastian.hesselbarth@gmail.com,
	mchehab@kernel.org, linux-arm-kernel@lists.infradead.org,
	laurent.pinchart@ideasonboard.com
Subject: [PATCH v5 2/2] Documentation/gpu: Add Synaptics tiling formats documentation
Date: Wed, 30 Nov 2022 17:21:49 +0800	[thread overview]
Message-ID: <20221130092149.102788-3-randy.li@synaptics.com> (raw)
In-Reply-To: <20221130092149.102788-1-randy.li@synaptics.com>

From: Randy Li <ayaka@soulik.info>

Signed-off-by: Randy Li <ayaka@soulik.info>
Signed-off-by: Hsia-Jun(Randy) Li <randy.li@synaptics.com>
---
 Documentation/gpu/drivers.rst   |   1 +
 Documentation/gpu/synaptics.rst | 104 ++++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+)
 create mode 100644 Documentation/gpu/synaptics.rst

diff --git a/Documentation/gpu/drivers.rst b/Documentation/gpu/drivers.rst
index 3a52f48215a3..7e820c93d994 100644
--- a/Documentation/gpu/drivers.rst
+++ b/Documentation/gpu/drivers.rst
@@ -18,6 +18,7 @@ GPU Driver Documentation
    xen-front
    afbc
    komeda-kms
+   synaptics
 
 .. only::  subproject and html
 
diff --git a/Documentation/gpu/synaptics.rst b/Documentation/gpu/synaptics.rst
new file mode 100644
index 000000000000..b0564d2fe3ce
--- /dev/null
+++ b/Documentation/gpu/synaptics.rst
@@ -0,0 +1,104 @@
+.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
+
+================
+Synaptics Tiling
+================
+
+The tiling pixel formats in Synpatics Video Smart platform have
+many variants. Tiles could form the group of tiles(GOT), pixels
+within a group rectangle are stored into tile.
+There are two parameters which consist a modifier described
+the (nearest) width and height pixels in a group.
+
+Meanwhile, the tile in a group may not follow dimension
+layout, tile could form a small group of tiles, then that (sub)group
+of tiles would form a bigger group. We won't describe the dimension
+layout inside the group of tiles here. The layout of the group
+of tiles is fixed with the group width and height parameters
+in the same generation of the platform.
+
+Compression
+===========
+The proprietary lossless image compression protocol in Synaptics
+could minimizes the amount of data transferred (less memory bandwidth
+consumption) between devices. It would usually apply to the tiling
+pixel format.
+
+Each component would request an extra page aligned length buffer
+for storing the compression meta data. Also a 32 bytes parameters
+set would come with a compression meta data buffer.
+
+The component here corresponds to a signal type (i.e. Luma, Chroma).
+They could be encoded into one or multiple metadata planes, but
+their compression parameters would still be individual.
+
+Pixel format modifiers
+======================
+Addition alignment requirement for stride and size of a memory plane
+could apply beyond what has been mentioned below. Remember always
+negotiating with all the devices in pipeline before allocation.
+
+.. raw:: latex
+
+    \small
+
+.. tabularcolumns:: |p{5.8cm}|p{1.2cm}|p{10.3cm}|
+
+.. cssclass:: longtable
+
+.. flat-table:: Synpatics Image Format Modifiers
+    :header-rows:  1
+    :stub-columns: 0
+    :widths:       3 1 8
+
+    * - Identifier
+      - Fourcc
+      - Details
+    * .. _DRM-FORMAT-MOD-SYNA-V4H1
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H1``
+      - ``DRM_FORMAT_NV12``
+      - The plain uncompressed 8 bits tile format. It sounds similar to
+	Intel's Y-tile. but it won't take any pixel from the next X direction
+	in a tile group. The line stride and image height must be aligned to
+	a multiple of 16. The height of chrominance plane would plus 8.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H3P8
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H3P8``
+      - ``DRM_FORMAT_NV15``
+      - The plain uncompressed 10 bits tile format. It stores pixel in 2D
+	3x4 tiles with a 8bits padding to each of tile. Then a tile is in a
+	128 bits cache line.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H1-64L4-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H1_64L4_COMPRESSED``
+      - ``DRM_FORMAT_NV12``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H1``.
+	A group of tiles would contain 64x4 pixels, where a tile has 1x4
+	pixel.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H3P8-64L4-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H3P8_64L4_COMPRESSED``
+      - ``DRM_FORMAT_NV15``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H3P8``.
+	A group of tiles would contains 48x4 pixels, where a tile has 3x4 pixels
+	and a 8 bits padding in the end of a tile. A group of tiles would
+	be 256 bytes.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H1-128L128-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H1_128L128_COMPRESSED``
+      - ``DRM_FORMAT_NV12``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H1``.
+	A group of tiles would contain 128x32 pixels, where a tile has 1x4 pixel.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H3P8-128L128-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H3P8_128L128_COMPRESSED``
+      - ``DRM_FORMAT_NV15``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H3P8``.
+	A group of tiles would contains 96x128 pixels, where a tile has 3x4 pixels
+	and a 8 bits padding in the end of a tile. A group of tiles would 
+	be 16 KiB.
+
+.. raw:: latex
+
+    \normalsize
-- 
2.37.3


WARNING: multiple messages have this Message-ID (diff)
From: Hsia-Jun Li <randy.li@synaptics.com>
To: dri-devel@lists.freedesktop.org
Cc: airlied@linux.ie, ayaka@soulik.info,
	sakari.ailus@linux.intel.com, ezequiel@vanguardiasur.com.ar,
	tzimmermann@suse.de, linux-kernel@vger.kernel.org,
	laurent.pinchart@ideasonboard.com, mchehab@kernel.org,
	tfiga@chromium.org, mripard@kernel.org, ribalda@chromium.org,
	maarten.lankhorst@linux.intel.com, linux-media@vger.kernel.org,
	sebastian.hesselbarth@gmail.com, helen.koike@collabora.com,
	nicolas@ndufresne.ca, linux-arm-kernel@lists.infradead.org,
	Hsia-Jun Li <randy.li@synaptics.com>
Subject: [PATCH v5 2/2] Documentation/gpu: Add Synaptics tiling formats documentation
Date: Wed, 30 Nov 2022 17:21:49 +0800	[thread overview]
Message-ID: <20221130092149.102788-3-randy.li@synaptics.com> (raw)
In-Reply-To: <20221130092149.102788-1-randy.li@synaptics.com>

From: Randy Li <ayaka@soulik.info>

Signed-off-by: Randy Li <ayaka@soulik.info>
Signed-off-by: Hsia-Jun(Randy) Li <randy.li@synaptics.com>
---
 Documentation/gpu/drivers.rst   |   1 +
 Documentation/gpu/synaptics.rst | 104 ++++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+)
 create mode 100644 Documentation/gpu/synaptics.rst

diff --git a/Documentation/gpu/drivers.rst b/Documentation/gpu/drivers.rst
index 3a52f48215a3..7e820c93d994 100644
--- a/Documentation/gpu/drivers.rst
+++ b/Documentation/gpu/drivers.rst
@@ -18,6 +18,7 @@ GPU Driver Documentation
    xen-front
    afbc
    komeda-kms
+   synaptics
 
 .. only::  subproject and html
 
diff --git a/Documentation/gpu/synaptics.rst b/Documentation/gpu/synaptics.rst
new file mode 100644
index 000000000000..b0564d2fe3ce
--- /dev/null
+++ b/Documentation/gpu/synaptics.rst
@@ -0,0 +1,104 @@
+.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
+
+================
+Synaptics Tiling
+================
+
+The tiling pixel formats in Synpatics Video Smart platform have
+many variants. Tiles could form the group of tiles(GOT), pixels
+within a group rectangle are stored into tile.
+There are two parameters which consist a modifier described
+the (nearest) width and height pixels in a group.
+
+Meanwhile, the tile in a group may not follow dimension
+layout, tile could form a small group of tiles, then that (sub)group
+of tiles would form a bigger group. We won't describe the dimension
+layout inside the group of tiles here. The layout of the group
+of tiles is fixed with the group width and height parameters
+in the same generation of the platform.
+
+Compression
+===========
+The proprietary lossless image compression protocol in Synaptics
+could minimizes the amount of data transferred (less memory bandwidth
+consumption) between devices. It would usually apply to the tiling
+pixel format.
+
+Each component would request an extra page aligned length buffer
+for storing the compression meta data. Also a 32 bytes parameters
+set would come with a compression meta data buffer.
+
+The component here corresponds to a signal type (i.e. Luma, Chroma).
+They could be encoded into one or multiple metadata planes, but
+their compression parameters would still be individual.
+
+Pixel format modifiers
+======================
+Addition alignment requirement for stride and size of a memory plane
+could apply beyond what has been mentioned below. Remember always
+negotiating with all the devices in pipeline before allocation.
+
+.. raw:: latex
+
+    \small
+
+.. tabularcolumns:: |p{5.8cm}|p{1.2cm}|p{10.3cm}|
+
+.. cssclass:: longtable
+
+.. flat-table:: Synpatics Image Format Modifiers
+    :header-rows:  1
+    :stub-columns: 0
+    :widths:       3 1 8
+
+    * - Identifier
+      - Fourcc
+      - Details
+    * .. _DRM-FORMAT-MOD-SYNA-V4H1
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H1``
+      - ``DRM_FORMAT_NV12``
+      - The plain uncompressed 8 bits tile format. It sounds similar to
+	Intel's Y-tile. but it won't take any pixel from the next X direction
+	in a tile group. The line stride and image height must be aligned to
+	a multiple of 16. The height of chrominance plane would plus 8.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H3P8
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H3P8``
+      - ``DRM_FORMAT_NV15``
+      - The plain uncompressed 10 bits tile format. It stores pixel in 2D
+	3x4 tiles with a 8bits padding to each of tile. Then a tile is in a
+	128 bits cache line.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H1-64L4-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H1_64L4_COMPRESSED``
+      - ``DRM_FORMAT_NV12``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H1``.
+	A group of tiles would contain 64x4 pixels, where a tile has 1x4
+	pixel.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H3P8-64L4-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H3P8_64L4_COMPRESSED``
+      - ``DRM_FORMAT_NV15``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H3P8``.
+	A group of tiles would contains 48x4 pixels, where a tile has 3x4 pixels
+	and a 8 bits padding in the end of a tile. A group of tiles would
+	be 256 bytes.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H1-128L128-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H1_128L128_COMPRESSED``
+      - ``DRM_FORMAT_NV12``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H1``.
+	A group of tiles would contain 128x32 pixels, where a tile has 1x4 pixel.
+    * .. _DRM-FORMAT-MOD-SYNA-V4H3P8-128L128-COMPRESSED
+
+      - ``DRM_FORMAT_MOD_SYNA_V4H3P8_128L128_COMPRESSED``
+      - ``DRM_FORMAT_NV15``
+      - Group of tiles and compressed variant of ``DRM_FORMAT_MOD_SYNA_V4H3P8``.
+	A group of tiles would contains 96x128 pixels, where a tile has 3x4 pixels
+	and a 8 bits padding in the end of a tile. A group of tiles would 
+	be 16 KiB.
+
+.. raw:: latex
+
+    \normalsize
-- 
2.37.3


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2022-11-30  9:22 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-30  9:21 [PATCH v5 0/2] Add pixel formats used in Synatpics SoC Hsia-Jun Li
2022-11-30  9:21 ` Hsia-Jun Li
2022-11-30  9:21 ` Hsia-Jun Li
2022-11-30  9:21 ` [PATCH v5 1/2] drm/fourcc: Add Synaptics VideoSmart tiled modifiers Hsia-Jun Li
2022-11-30  9:21   ` Hsia-Jun Li
2022-11-30  9:21   ` Hsia-Jun Li
2022-11-30 11:30   ` Daniel Vetter
2022-11-30 11:30     ` Daniel Vetter
2022-11-30 11:30     ` Daniel Vetter
2022-11-30 16:49     ` Randy Li
2022-11-30 16:49       ` Randy Li
2022-11-30 16:49       ` Randy Li
2022-12-01  9:38       ` Daniel Vetter
2022-12-01  9:38         ` Daniel Vetter
2022-12-01  9:38         ` Daniel Vetter
2022-12-01 13:59         ` Randy Li
2022-12-01 13:59           ` Randy Li
2022-12-01 13:59           ` Randy Li
2022-11-30  9:21 ` Hsia-Jun Li [this message]
2022-11-30  9:21   ` [PATCH v5 2/2] Documentation/gpu: Add Synaptics tiling formats documentation Hsia-Jun Li
2022-11-30  9:21   ` Hsia-Jun Li
2022-12-01  7:25   ` kernel test robot
2022-12-01  7:25     ` kernel test robot
2022-12-01  7:25     ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221130092149.102788-3-randy.li@synaptics.com \
    --to=randy.li@synaptics.com \
    --cc=airlied@linux.ie \
    --cc=ayaka@soulik.info \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=ezequiel@vanguardiasur.com.ar \
    --cc=helen.koike@collabora.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mchehab@kernel.org \
    --cc=mripard@kernel.org \
    --cc=nicolas@ndufresne.ca \
    --cc=ribalda@chromium.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=tfiga@chromium.org \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.