diff options
| author | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-04-21 05:33:03 -0400 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-04-21 08:44:55 -0400 |
| commit | 64131a87f2aae2ed9e05d8227c5b009ca6c50d98 (patch) | |
| tree | fdea23fd59216120bf54a48c60ca24489a733f14 /include/uapi | |
| parent | 676ee36be04985062522804c2de04f0764212be6 (diff) | |
| parent | 2c33ce009ca2389dbf0535d0672214d09738e35e (diff) | |
Merge branch 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux into v4l_for_linus
* 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux: (9717 commits)
media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format
hexdump: avoid warning in test function
fs: take i_mutex during prepare_binprm for set[ug]id executables
smp: Fix error case handling in smp_call_function_*()
iommu-common: Fix PARISC compile-time warnings
sparc: Make LDC use common iommu poll management functions
sparc: Make sparc64 use scalable lib/iommu-common.c functions
Break up monolithic iommu table/lock into finer graularity pools and lock
sparc: Revert generic IOMMU allocator.
tools/power turbostat: correct dumped pkg-cstate-limit value
tools/power turbostat: calculate TSC frequency from CPUID(0x15) on SKL
tools/power turbostat: correct DRAM RAPL units on recent Xeon processors
tools/power turbostat: Initial Skylake support
tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile
tools/power turbostat: modprobe msr, if needed
tools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2
tools/power turbostat: use new MSR_TURBO_RATIO_LIMIT names
Bluetooth: hidp: Fix regression with older userspace and flags validation
config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected
perf/x86/intel/pt: Fix and clean up error handling in pt_event_add()
...
That solves several merge conflicts:
Documentation/DocBook/media/v4l/subdev-formats.xml
Documentation/devicetree/bindings/vendor-prefixes.txt
drivers/staging/media/mn88473/mn88473.c
include/linux/kconfig.h
include/uapi/linux/media-bus-format.h
The ones at subdev-formats.xml and media-bus-format.h are not trivial.
That's why we opted to merge from DRM.
Diffstat (limited to 'include/uapi')
51 files changed, 921 insertions, 53 deletions
diff --git a/include/uapi/asm-generic/errno.h b/include/uapi/asm-generic/errno.h index 1e1ea6e6e7a5..88e0914cf2d9 100644 --- a/include/uapi/asm-generic/errno.h +++ b/include/uapi/asm-generic/errno.h | |||
| @@ -6,7 +6,16 @@ | |||
| 6 | #define EDEADLK 35 /* Resource deadlock would occur */ | 6 | #define EDEADLK 35 /* Resource deadlock would occur */ |
| 7 | #define ENAMETOOLONG 36 /* File name too long */ | 7 | #define ENAMETOOLONG 36 /* File name too long */ |
| 8 | #define ENOLCK 37 /* No record locks available */ | 8 | #define ENOLCK 37 /* No record locks available */ |
| 9 | #define ENOSYS 38 /* Function not implemented */ | 9 | |
| 10 | /* | ||
| 11 | * This error code is special: arch syscall entry code will return | ||
| 12 | * -ENOSYS if users try to call a syscall that doesn't exist. To keep | ||
| 13 | * failures of syscalls that really do exist distinguishable from | ||
| 14 | * failures due to attempts to use a nonexistent syscall, syscall | ||
| 15 | * implementations should refrain from returning -ENOSYS. | ||
| 16 | */ | ||
| 17 | #define ENOSYS 38 /* Invalid system call number */ | ||
| 18 | |||
| 10 | #define ENOTEMPTY 39 /* Directory not empty */ | 19 | #define ENOTEMPTY 39 /* Directory not empty */ |
| 11 | #define ELOOP 40 /* Too many symbolic links encountered */ | 20 | #define ELOOP 40 /* Too many symbolic links encountered */ |
| 12 | #define EWOULDBLOCK EAGAIN /* Operation would block */ | 21 | #define EWOULDBLOCK EAGAIN /* Operation would block */ |
diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h index 01b2d6d0e355..ff6ef62d084b 100644 --- a/include/uapi/drm/drm.h +++ b/include/uapi/drm/drm.h | |||
| @@ -630,6 +630,7 @@ struct drm_gem_open { | |||
| 630 | */ | 630 | */ |
| 631 | #define DRM_CAP_CURSOR_WIDTH 0x8 | 631 | #define DRM_CAP_CURSOR_WIDTH 0x8 |
| 632 | #define DRM_CAP_CURSOR_HEIGHT 0x9 | 632 | #define DRM_CAP_CURSOR_HEIGHT 0x9 |
| 633 | #define DRM_CAP_ADDFB2_MODIFIERS 0x10 | ||
| 633 | 634 | ||
| 634 | /** DRM_IOCTL_GET_CAP ioctl argument type */ | 635 | /** DRM_IOCTL_GET_CAP ioctl argument type */ |
| 635 | struct drm_get_cap { | 636 | struct drm_get_cap { |
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index a284f11a8ef5..07735822a28f 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h | |||
| @@ -129,4 +129,82 @@ | |||
| 129 | #define DRM_FORMAT_YUV444 fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */ | 129 | #define DRM_FORMAT_YUV444 fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */ |
| 130 | #define DRM_FORMAT_YVU444 fourcc_code('Y', 'V', '2', '4') /* non-subsampled Cr (1) and Cb (2) planes */ | 130 | #define DRM_FORMAT_YVU444 fourcc_code('Y', 'V', '2', '4') /* non-subsampled Cr (1) and Cb (2) planes */ |
| 131 | 131 | ||
| 132 | |||
| 133 | /* | ||
| 134 | * Format Modifiers: | ||
| 135 | * | ||
| 136 | * Format modifiers describe, typically, a re-ordering or modification | ||
| 137 | * of the data in a plane of an FB. This can be used to express tiled/ | ||
| 138 | * swizzled formats, or compression, or a combination of the two. | ||
| 139 | * | ||
| 140 | * The upper 8 bits of the format modifier are a vendor-id as assigned | ||
| 141 | * below. The lower 56 bits are assigned as vendor sees fit. | ||
| 142 | */ | ||
| 143 | |||
| 144 | /* Vendor Ids: */ | ||
| 145 | #define DRM_FORMAT_MOD_NONE 0 | ||
| 146 | #define DRM_FORMAT_MOD_VENDOR_INTEL 0x01 | ||
| 147 | #define DRM_FORMAT_MOD_VENDOR_AMD 0x02 | ||
| 148 | #define DRM_FORMAT_MOD_VENDOR_NV 0x03 | ||
| 149 | #define DRM_FORMAT_MOD_VENDOR_SAMSUNG 0x04 | ||
| 150 | #define DRM_FORMAT_MOD_VENDOR_QCOM 0x05 | ||
| 151 | /* add more to the end as needed */ | ||
| 152 | |||
| 153 | #define fourcc_mod_code(vendor, val) \ | ||
| 154 | ((((u64)DRM_FORMAT_MOD_VENDOR_## vendor) << 56) | (val & 0x00ffffffffffffffULL)) | ||
| 155 | |||
| 156 | /* | ||
| 157 | * Format Modifier tokens: | ||
| 158 | * | ||
| 159 | * When adding a new token please document the layout with a code comment, | ||
| 160 | * similar to the fourcc codes above. drm_fourcc.h is considered the | ||
| 161 | * authoritative source for all of these. | ||
| 162 | */ | ||
| 163 | |||
| 164 | /* Intel framebuffer modifiers */ | ||
| 165 | |||
| 166 | /* | ||
| 167 | * Intel X-tiling layout | ||
| 168 | * | ||
| 169 | * This is a tiled layout using 4Kb tiles (except on gen2 where the tiles 2Kb) | ||
| 170 | * in row-major layout. Within the tile bytes are laid out row-major, with | ||
| 171 | * a platform-dependent stride. On top of that the memory can apply | ||
| 172 | * platform-depending swizzling of some higher address bits into bit6. | ||
| 173 | * | ||
| 174 | * This format is highly platforms specific and not useful for cross-driver | ||
| 175 | * sharing. It exists since on a given platform it does uniquely identify the | ||
| 176 | * layout in a simple way for i915-specific userspace. | ||
| 177 | */ | ||
| 178 | #define I915_FORMAT_MOD_X_TILED fourcc_mod_code(INTEL, 1) | ||
| 179 | |||
| 180 | /* | ||
| 181 | * Intel Y-tiling layout | ||
| 182 | * | ||
| 183 | * This is a tiled layout using 4Kb tiles (except on gen2 where the tiles 2Kb) | ||
| 184 | * in row-major layout. Within the tile bytes are laid out in OWORD (16 bytes) | ||
| 185 | * chunks column-major, with a platform-dependent height. On top of that the | ||
| 186 | * memory can apply platform-depending swizzling of some higher address bits | ||
| 187 | * into bit6. | ||
| 188 | * | ||
| 189 | * This format is highly platforms specific and not useful for cross-driver | ||
| 190 | * sharing. It exists since on a given platform it does uniquely identify the | ||
| 191 | * layout in a simple way for i915-specific userspace. | ||
| 192 | */ | ||
| 193 | #define I915_FORMAT_MOD_Y_TILED fourcc_mod_code(INTEL, 2) | ||
| 194 | |||
| 195 | /* | ||
| 196 | * Intel Yf-tiling layout | ||
| 197 | * | ||
| 198 | * This is a tiled layout using 4Kb tiles in row-major layout. | ||
| 199 | * Within the tile pixels are laid out in 16 256 byte units / sub-tiles which | ||
| 200 | * are arranged in four groups (two wide, two high) with column-major layout. | ||
| 201 | * Each group therefore consits out of four 256 byte units, which are also laid | ||
| 202 | * out as 2x2 column-major. | ||
| 203 | * 256 byte units are made out of four 64 byte blocks of pixels, producing | ||
| 204 | * either a square block or a 2:1 unit. | ||
| 205 | * 64 byte blocks of pixels contain four pixel rows of 16 bytes, where the width | ||
| 206 | * in pixel depends on the pixel depth. | ||
