linux/drivers
Ilia Mirkin 9b9a82c0e2 drm/nouveau: prefer XBGR2101010 for addfb ioctl
commit c20bb155c2 upstream.

Nouveau only exposes support for XBGR2101010. Prior to the atomic
conversion, drm would pass in the wrong format in the framebuffer, but
it was always ignored -- both userspace (xf86-video-nouveau) and the
kernel driver agreed on the layout, so the fact that the format was
wrong didn't matter.

With the atomic conversion, nouveau all of a sudden started caring about
the exact format, and so the previously-working code in
xf86-video-nouveau no longer functioned since the (internally-assigned)
format from the addfb ioctl was wrong.

This change adds infrastructure to allow a drm driver to specify that it
prefers the XBGR format variant for the addfb ioctl, and makes nouveau's
nv50 display driver set it. (Prior gens had no support for 30bpp at all.)

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: stable@vger.kernel.org # v4.10+
Acked-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20180203191123.31507-1-imirkin@alum.mit.edu
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-15 10:54:30 +01:00
..
accessibility License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
acpi ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530 2018-03-08 22:41:26 -08:00
amba License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
android binder: replace "%p" with "%pK" 2018-02-25 11:07:52 +01:00
ata ahci: Add Intel Cannon Lake PCH-H PCI ID 2018-02-16 20:22:59 +01:00
atm atm: horizon: Fix irq release error 2017-12-14 09:53:13 +01:00
auxdisplay auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2018-02-07 11:12:20 -08:00
base PM / runtime: Fix handling of suppliers with disabled runtime PM 2018-02-25 11:07:58 +01:00
bcma License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
block rbd: whitelist RBD_FEATURE_OPERATIONS feature bit 2018-02-22 15:42:28 +01:00
bluetooth Bluetooth: btusb: Use DMI matching for QCA reset_resume quirking 2018-03-08 22:40:59 -08:00
bus sunxi-rsb: Include OF based modalias in device uevent 2018-01-10 09:31:19 +01:00
cdrom License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
char tpm: only attempt to disable the LPC CLKRUN if is already enabled 2018-03-15 10:54:25 +01:00
clk clk: sunxi: sun9i-mmc: Implement reset callback for reset controls 2017-12-29 17:53:48 +01:00
clocksource clocksource/drivers/stm32: Fix kernel panic with multiple timers 2018-02-16 20:23:09 +01:00
connector
cpufreq cpufreq: s3c24xx: Fix broken s3c_cpufreq_init() 2018-03-08 22:41:06 -08:00
cpuidle cpuidle: fix broadcast control when broadcast can not be entered 2017-12-25 14:26:30 +01:00
crypto crypto: inside-secure - fix request allocations in invalidation path 2018-03-03 10:24:30 +01:00
dax dev/dax: fix uninitialized variable build warning 2017-12-20 10:10:34 +01:00
dca
devfreq PM / devfreq: Propagate error from devfreq_add_device() 2018-02-22 15:42:16 +01:00
dio License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dma dmaengine: fsl-edma: disable clks on all error paths 2018-03-03 10:24:22 +01:00
dma-buf dma-buf: fix reservation_object_wait_timeout_rcu once more v2 2018-02-22 15:42:17 +01:00
edac EDAC, sb_edac: Fix out of bound writes during DIMM configuration on KNL 2018-03-08 22:41:20 -08:00
eisa License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
extcon extcon: int3496: process id-pin first so that we start with the right status 2018-02-28 10:19:39 +01:00
firewire License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
firmware firmware/psci: Expose SMCCC version through psci_ops 2018-02-16 20:22:56 +01:00
fmc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fpga fpga: region: release of_parse_phandle nodes after use 2018-02-07 11:12:26 -08:00
fsi
gpio gpio: davinci: Assign first bank regs for unbanked case 2018-02-25 11:07:56 +01:00
gpu drm/nouveau: prefer XBGR2101010 for addfb ioctl 2018-03-15 10:54:30 +01:00
hid usb: ldusb: add PIDs for new CASSY devices supported by this driver 2018-02-28 10:19:43 +01:00
hsi License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hv x86/virt: Add enum for hypervisors to replace x86_hyper 2017-12-25 14:26:20 +01:00
hwmon x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-22 15:42:24 +01:00
hwspinlock License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hwtracing License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
i2c i2c: bcm2835: Set up the rising/falling edge delays 2018-02-28 10:19:39 +01:00
ide ide: ide-atapi: fix compile error with defining macro DEBUG 2017-12-17 15:08:00 +01:00
idle Revert "x86/mm: Stop calling leave_mm() in idle code" 2017-11-04 15:01:50 +01:00
iio iio: adis_lib: Initialize trigger before requesting interrupt 2018-02-28 10:19:41 +01:00
infiniband IB/uverbs: Improve lockdep_check 2018-03-15 10:54:28 +01:00
input Input: xen-kbdfront - do not advertise multi-touch pressure support 2018-03-03 10:24:32 +01:00
iommu iommu/arm-smmu-v3: Cope with duplicated Stream IDs 2018-01-10 09:31:21 +01:00
ipack
irqchip irqchip/mips-gic: Avoid spuriously handling masked interrupts 2018-02-28 10:19:41 +01:00
isdn License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
leds leds: core: Fix regression caused by commit 2b83ff96f5 2018-03-03 10:24:35 +01:00
lightnvm lightnvm: pblk: protect line bitmap while submitting meta io 2017-12-20 10:10:38 +01:00
macintosh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mailbox mailbox: mailbox-test: don't rely on rx_buffer content to signal data ready 2017-12-14 09:53:12 +01:00
mcb License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
md md: only allow remove_and_add_spares when no sync_thread running. 2018-03-08 22:41:26 -08:00
media media: m88ds3103: don't call a non-initalized function 2018-03-08 22:41:20 -08:00
memory License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
memstick License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
message License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mfd mfd: twl6040: Fix child-node lookup 2017-12-29 17:53:46 +01:00
misc mei: me: add cannon point device ids for 4th device 2018-02-25 11:08:04 +01:00
mmc mmc: dw_mmc: Fix out-of-bounds access for slot's caps 2018-03-08 22:41:03 -08:00
mtd mtd: nand: brcmnand: Zero bitflip is not an error 2018-03-03 10:24:23 +01:00
mux mux: core: fix double get_device() 2018-01-17 09:45:27 +01:00
net virtio-net: disable NAPI only when enabled during XDP set 2018-03-08 22:41:18 -08:00
nfc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ntb
nubus License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nvdimm libnvdimm, pfn: fix start_pad handling for aligned namespaces 2017-12-29 17:53:49 +01:00
nvme nvme-rdma: don't suppress send completions 2018-03-08 22:41:26 -08:00
nvmem License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
of of_mdio: avoid MDIO bus removal when a PHY is missing 2018-03-03 10:24:37 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
parisc parisc: Hide Diva-built-in serial aux and graphics card 2017-12-29 17:53:47 +01:00
parport License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci PCI/ASPM: Deal with missing root ports in link state handling 2018-03-08 22:41:25 -08:00
pcmcia License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
phy phy: cpcap-usb: Fix platform_get_irq_byname's error checking. 2018-03-03 10:24:22 +01:00
pinctrl pinctrl: sunxi: Fix A64 UART mux value 2018-02-25 11:07:56 +01:00
platform platform/x86: dell-laptop: Fix keyboard max lighting for Dell Latitude E6410 2018-02-25 11:08:03 +01:00
pnp License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
power power: reset: zx-reboot: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2018-02-03 17:38:51 +01:00
powercap
pps drivers/pps: use surrounding "if PPS" to remove numerous dependency checks 2017-09-08 18:26:51 -07:00
ps3
ptp License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pwm License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rapidio drivers/rapidio/devices/rio_mport_cdev.c: fix resource leak in error handling path in 'rio_dma_transfer()' 2017-12-14 09:53:08 +01:00
ras License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
regulator regulator: stm32-vrefbuf: fix check on ready flag 2018-03-15 10:54:28 +01:00
remoteproc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
reset License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rpmsg rpmsg: glink: Initialize the "intent_req_comp" completion variable 2017-12-20 10:10:29 +01:00
rtc rtc-opal: Fix handling of firmware error codes, prevent busy loops 2018-02-22 15:42:25 +01:00
s390 s390/qeth: fix IPA command submission race 2018-03-08 22:41:20 -08:00
sbus License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi scsi: qla2xxx: Fix NULL pointer crash due to active timer for ABTS 2018-03-15 10:54:29 +01:00
sfi
sh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sn
soc meson-gx-socinfo: Fix package id parsing 2018-02-25 11:07:56 +01:00
spi spi: atmel: fixed spin_lock usage inside atmel_spi_remove 2018-03-03 10:24:25 +01:00
spmi
ssb License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
staging staging: ion: Fix ion_cma_heap allocations 2018-03-03 10:24:26 +01:00
target iscsi-target: make sure to wake up sleeping login worker 2018-02-22 15:42:29 +01:00
tc
tee optee: fix invalid of_node_put() in optee_driver_init() 2017-12-25 14:26:24 +01:00
thermal thermal/drivers/hisi: Fix multiple alarm interrupts firing 2017-12-25 14:26:31 +01:00
thunderbolt thunderbolt: tb: fix use after free in tb_activate_pcie_devices 2017-12-20 10:10:24 +01:00
tty serial: core: mark port as initialized after successful IRQ change 2018-02-07 11:12:26 -08:00
uio License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
usb usb: renesas_usbhs: missed the "running" flag in usb_dmac with rx path 2018-02-28 10:19:43 +01:00
uwb License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vfio vfio: disable filesystem-dax page pinning 2018-03-08 22:41:06 -08:00
vhost vhost: use mutex_lock_nested() in vhost_dev_lock_vqs() 2018-02-25 11:07:45 +01:00
video video: fbdev/mmp: add MODULE_LICENSE 2018-02-25 11:07:51 +01:00
virt
virtio virtio: release virtio index when fail to device_register 2017-12-14 09:52:48 +01:00
vlynq
vme License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
w1 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
watchdog watchdog: hpwdt: Remove legacy NMI sourcing. 2018-03-15 10:54:22 +01:00
xen xen/gntdev: Fix partial gntdev_mmap() cleanup 2018-03-03 10:24:37 +01:00
zorro License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile usb: build drivers/usb/common/ when USB_SUPPORT is set 2018-02-25 11:07:53 +01:00