Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull drm fixes from Dave Airlie: "Just noticed I hadn't send these out, nothing majorly urgent, I know AMD guys have some regression fixes coming soon. This contains: 2 nouveau fixes so it loads on the retina MBP systems properly, 2 vmwgfx fixes to load the driver earlier, and allow distros config it 1 error->debug fix in ast and Keith was playing with 32-on-64 and decided we may as well stick the compat ioctl in all the drivers. It fixes udl for him." * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/vmwgfx: add MODULE_DEVICE_TABLE so vmwgfx loads at boot drm/vmwgfx: allow a kconfig option to choose if fbcon is enabled drm: use drm_compat_ioctl for 32-bit apps drm/ast: drop debug level on error printk drm/nv50-/gpio: initialise to vbios defaults during init drm/nvd0/disp: hopefully fix selection of 6/8bpc mode on DP outputs
This commit is contained in:
commit
5d67f2e864
16 changed files with 49 additions and 4 deletions
|
@ -193,6 +193,9 @@ static const struct file_operations ast_fops = {
|
|||
.mmap = ast_mmap,
|
||||
.poll = drm_poll,
|
||||
.fasync = drm_fasync,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.read = drm_read,
|
||||
};
|
||||
|
||||
|
|
|
@ -841,7 +841,7 @@ int ast_cursor_init(struct drm_device *dev)
|
|||
|
||||
ast->cursor_cache = obj;
|
||||
ast->cursor_cache_gpu_addr = gpu_addr;
|
||||
DRM_ERROR("pinned cursor cache at %llx\n", ast->cursor_cache_gpu_addr);
|
||||
DRM_DEBUG_KMS("pinned cursor cache at %llx\n", ast->cursor_cache_gpu_addr);
|
||||
return 0;
|
||||
fail:
|
||||
return ret;
|
||||
|
|
|
@ -74,6 +74,9 @@ static const struct file_operations cirrus_driver_fops = {
|
|||
.unlocked_ioctl = drm_ioctl,
|
||||
.mmap = cirrus_mmap,
|
||||
.poll = drm_poll,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.fasync = drm_fasync,
|
||||
};
|
||||
static struct drm_driver driver = {
|
||||
|
|
|
@ -241,6 +241,9 @@ static const struct file_operations exynos_drm_driver_fops = {
|
|||
.poll = drm_poll,
|
||||
.read = drm_read,
|
||||
.unlocked_ioctl = drm_ioctl,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.release = drm_release,
|
||||
};
|
||||
|
||||
|
|
|
@ -115,6 +115,9 @@ static const struct file_operations i810_buffer_fops = {
|
|||
.unlocked_ioctl = drm_ioctl,
|
||||
.mmap = i810_mmap_buffers,
|
||||
.fasync = drm_fasync,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
|
|
|
@ -51,6 +51,9 @@ static const struct file_operations i810_driver_fops = {
|
|||
.mmap = drm_mmap,
|
||||
.poll = drm_poll,
|
||||
.fasync = drm_fasync,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
|
|
|
@ -84,6 +84,9 @@ static const struct file_operations mgag200_driver_fops = {
|
|||
.mmap = mgag200_mmap,
|
||||
.poll = drm_poll,
|
||||
.fasync = drm_fasync,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.read = drm_read,
|
||||
};
|
||||
|
||||
|
|
|
@ -115,6 +115,9 @@ nv50_gpio_init(struct drm_device *dev)
|
|||
{
|
||||
struct drm_nouveau_private *dev_priv = dev->dev_private;
|
||||
|
||||
/* initialise gpios and routing to vbios defaults */
|
||||
nouveau_gpio_reset(dev);
|
||||
|
||||
/* disable, and ack any pending gpio interrupts */
|
||||
nv_wr32(dev, 0xe050, 0x00000000);
|
||||
nv_wr32(dev, 0xe054, 0xffffffff);
|
||||
|
|
|
@ -1510,10 +1510,10 @@ nvd0_sor_mode_set(struct drm_encoder *encoder, struct drm_display_mode *umode,
|
|||
case OUTPUT_DP:
|
||||
if (nv_connector->base.display_info.bpc == 6) {
|
||||
nv_encoder->dp.datarate = mode->clock * 18 / 8;
|
||||
syncs |= 0x00000140;
|
||||
syncs |= 0x00000002 << 6;
|
||||
} else {
|
||||
nv_encoder->dp.datarate = mode->clock * 24 / 8;
|
||||
syncs |= 0x00000180;
|
||||
syncs |= 0x00000005 << 6;
|
||||
}
|
||||
|
||||
if (nv_encoder->dcb->sorconf.link & 1)
|
||||
|
|
|
@ -43,6 +43,9 @@ static const struct file_operations savage_driver_fops = {
|
|||
.mmap = drm_mmap,
|
||||
.poll = drm_poll,
|
||||
.fasync = drm_fasync,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
|
|
|
@ -74,6 +74,9 @@ static const struct file_operations sis_driver_fops = {
|
|||
.mmap = drm_mmap,
|
||||
.poll = drm_poll,
|
||||
.fasync = drm_fasync,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
|
|
|
@ -49,6 +49,9 @@ static const struct file_operations tdfx_driver_fops = {
|
|||
.mmap = drm_mmap,
|
||||
.poll = drm_poll,
|
||||
.fasync = drm_fasync,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
|
|
|
@ -66,6 +66,9 @@ static const struct file_operations udl_driver_fops = {
|
|||
.unlocked_ioctl = drm_ioctl,
|
||||
.release = drm_release,
|
||||
.fasync = drm_fasync,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
|
|
|
@ -65,6 +65,9 @@ static const struct file_operations via_driver_fops = {
|
|||
.mmap = drm_mmap,
|
||||
.poll = drm_poll,
|
||||
.fasync = drm_fasync,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = drm_compat_ioctl,
|
||||
#endif
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
|
|
|
@ -12,3 +12,11 @@ config DRM_VMWGFX
|
|||
This is a KMS enabled DRM driver for the VMware SVGA2
|
||||
virtual hardware.
|
||||
The compiled module will be called "vmwgfx.ko".
|
||||
|
||||
config DRM_VMWGFX_FBCON
|
||||
depends on DRM_VMWGFX
|
||||
bool "Enable framebuffer console under vmwgfx by default"
|
||||
help
|
||||
Choose this option if you are shipping a new vmwgfx
|
||||
userspace driver that supports using the kernel driver.
|
||||
|
||||
|
|
|
@ -182,8 +182,9 @@ static struct pci_device_id vmw_pci_id_list[] = {
|
|||
{0x15ad, 0x0405, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VMWGFX_CHIP_SVGAII},
|
||||
{0, 0, 0}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pci, vmw_pci_id_list);
|
||||
|
||||
static int enable_fbdev;
|
||||
static int enable_fbdev = IS_ENABLED(CONFIG_DRM_VMWGFX_FBCON);
|
||||
|
||||
static int vmw_probe(struct pci_dev *, const struct pci_device_id *);
|
||||
static void vmw_master_init(struct vmw_master *);
|
||||
|
|
Loading…
Add table
Reference in a new issue