mirror of
https://github.com/Fishwaldo/build.git
synced 2025-04-15 02:21:28 +00:00
* Attach Meson64 CURRENT to 5.6.y and make DEV = CURRENT at this point. There is a lot of changes to 5.7.y and can be done after release or by someone that feels a need for this right now. * Delete meson64_fclk_div3.patch this fix has been upstream for some time, I had issues with it on 5.4, which is why it had been removed there. * [ meson64 current ] kconfig tweak disable Rockchip SoC drivers * [ meson64 current ] remove rockchip patches * [ meson64 current ] disable CMA patch GX * [ meson64 current] add libretech cc audio patch This brings the dts even with the khilman 5.8/integ branch which includes all of the audio changes. The kernel is registering audio devices, however nothing comes out. committed in case someone wants to spend time debugging/testing theories. * fix permissions was editing from another machine, accidental change of permissions in the patch * Set default mixer settings Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com> * [ meson64 current ] GXL audio commit This moves to the mainline patches and covers le potato and la frite. Adjusted asound config to handle a commonized sound card name. * [ meson64 current ] add gxbb audio WIP Playback is too fast, a clock setting is off somewhere. * Update kernel configs Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com> Co-authored-by: Tony <tonymckahan@gmail.com>
111 lines
3.9 KiB
Diff
111 lines
3.9 KiB
Diff
From fac579148d3775144bbe922ef013bd4e134fc6df Mon Sep 17 00:00:00 2001
|
|
From: Neil Armstrong <narmstrong@baylibre.com>
|
|
Date: Thu, 20 Feb 2020 17:13:26 +0000
|
|
Subject: [PATCH 076/101] FROMLIST: drm/fourcc: Add modifier definitions for
|
|
describing Amlogic Video Framebuffer Compression
|
|
|
|
Amlogic uses a proprietary lossless image compression protocol and format
|
|
for their hardware video codec accelerators, either video decoders or
|
|
video input encoders.
|
|
|
|
It considerably reduces memory bandwidth while writing and reading
|
|
frames in memory.
|
|
|
|
The underlying storage is considered to be 3 components, 8bit or 10-bit
|
|
per component, YCbCr 420, single plane :
|
|
- DRM_FORMAT_YUV420_8BIT
|
|
- DRM_FORMAT_YUV420_10BIT
|
|
|
|
This modifier will be notably added to DMA-BUF frames imported from the V4L2
|
|
Amlogic VDEC decoder.
|
|
|
|
At least two options are supported :
|
|
- Scatter mode: the buffer is filled with a IOMMU scatter table referring
|
|
to the encoder current memory layout. This mode if more efficient in terms
|
|
of memory allocation but frames are not dumpable and only valid during until
|
|
the buffer is freed and back in control of the encoder
|
|
- Memory saving: when the pixel bpp is 8b, the size of the superblock can
|
|
be reduced, thus saving memory.
|
|
|
|
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
|
---
|
|
include/uapi/drm/drm_fourcc.h | 56 +++++++++++++++++++++++++++++++++++
|
|
1 file changed, 56 insertions(+)
|
|
|
|
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
|
|
index 8bc0b31597d8..8a6e87bacadb 100644
|
|
--- a/include/uapi/drm/drm_fourcc.h
|
|
+++ b/include/uapi/drm/drm_fourcc.h
|
|
@@ -309,6 +309,7 @@ extern "C" {
|
|
#define DRM_FORMAT_MOD_VENDOR_BROADCOM 0x07
|
|
#define DRM_FORMAT_MOD_VENDOR_ARM 0x08
|
|
#define DRM_FORMAT_MOD_VENDOR_ALLWINNER 0x09
|
|
+#define DRM_FORMAT_MOD_VENDOR_AMLOGIC 0x0a
|
|
|
|
/* add more to the end as needed */
|
|
|
|
@@ -804,6 +805,61 @@ extern "C" {
|
|
*/
|
|
#define DRM_FORMAT_MOD_ALLWINNER_TILED fourcc_mod_code(ALLWINNER, 1)
|
|
|
|
+/*
|
|
+ * Amlogic Video Framebuffer Compression modifiers
|
|
+ *
|
|
+ * Amlogic uses a proprietary lossless image compression protocol and format
|
|
+ * for their hardware video codec accelerators, either video decoders or
|
|
+ * video input encoders.
|
|
+ *
|
|
+ * It considerably reduces memory bandwidth while writing and reading
|
|
+ * frames in memory.
|
|
+ * Implementation details may be platform and SoC specific, and shared
|
|
+ * between the producer and the decoder on the same platform.
|
|
+ *
|
|
+ * The underlying storage is considered to be 3 components, 8bit or 10-bit
|
|
+ * per component YCbCr 420, single plane :
|
|
+ * - DRM_FORMAT_YUV420_8BIT
|
|
+ * - DRM_FORMAT_YUV420_10BIT
|
|
+ *
|
|
+ * The classic memory storage is composed of:
|
|
+ * - a body content organized in 64x32 superblocks with 4096 bytes per
|
|
+ * superblock in default mode.
|
|
+ * - a 32 bytes per 128x64 header block
|
|
+ */
|
|
+#define DRM_FORMAT_MOD_AMLOGIC_FBC_DEFAULT fourcc_mod_code(AMLOGIC, 0)
|
|
+
|
|
+/*
|
|
+ * Amlogic Video Framebuffer Compression Options
|
|
+ *
|
|
+ * Two optional features are available which may not supported/used on every
|
|
+ * SoCs and Compressed Framebuffer producers.
|
|
+ */
|
|
+#define DRM_FORMAT_MOD_AMLOGIC_FBC(__modes) fourcc_mod_code(AMLOGIC, __modes)
|
|
+
|
|
+/*
|
|
+ * Amlogic FBC Scatter Memory layout
|
|
+ *
|
|
+ * Indicates the header contains IOMMU references to the compressed
|
|
+ * frames content to optimize memory access and layout.
|
|
+ * In this mode, only the header memory address is needed, thus the
|
|
+ * content memory organization is tied to the current producer
|
|
+ * execution and cannot be saved/dumped.
|
|
+ */
|
|
+#define DRM_FORMAT_MOD_AMLOGIC_FBC_SCATTER (1ULL << 0)
|
|
+
|
|
+/*
|
|
+ * Amlogic FBC Memory Saving mode
|
|
+ *
|
|
+ * Indicates the storage is packed when pixel size is multiple of word
|
|
+ * boudaries, i.e. 8bit should be stored in this mode to save allocation
|
|
+ * memory.
|
|
+ *
|
|
+ * This mode reduces body layout to 3072 bytes per 64x32 superblock and
|
|
+ * 3200 bytes per 64x32 superblock combined with scatter mode.
|
|
+ */
|
|
+#define DRM_FORMAT_MOD_AMLOGIC_FBC_MEM_SAVING (1ULL << 1)
|
|
+
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
--
|
|
2.17.1
|
|
|