Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8c14f72b authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge branch 'linux-4.4' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes

Ben Skeggs wrote:
A couple of regression fixes, some more boards whitelisted for a hw bug
workaround, gr/ucode fixes for hangs a user is seeing.

The changes look larger than they actually are due to the ucode binaries
(*.fucN.h) being regenerated.

* 'linux-4.4' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
  drm/nouveau/volt/pwm/gk104: fix an off-by-one resulting in the voltage not being set
  drm/nouveau/nvif: allow userspace access to its own client object
  drm/nouveau/gr/gf100-: fix oops when calling zbc methods
  drm/nouveau/gr/gf117-: assume no PPC if NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK is zero
  drm/nouveau/gr/gf117-: read NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK from correct GPC
  drm/nouveau/gr/gf100-: split out per-gpc address calculation macro
  drm/nouveau/bios: return actual size of the buffer retrieved via _ROM
  drm/nouveau/instmem: protect instobj list with a spinlock
  drm/nouveau/pci: enable c800 magic for some unknown Samsung laptop
  drm/nouveau/pci: enable c800 magic for Clevo P157SM
parents 2f137161 ef0e9f55
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ struct nvkm_instmem {
	const struct nvkm_instmem_func *func;
	struct nvkm_subdev subdev;

	spinlock_t lock;
	struct list_head list;
	u32 reserved;

+1 −0
Original line number Diff line number Diff line
@@ -367,6 +367,7 @@ static int nouveau_rom_call(acpi_handle rom_handle, uint8_t *bios,
		return -ENODEV;
	}
	obj = (union acpi_object *)buffer.pointer;
	len = min(len, (int)obj->buffer.length);
	memcpy(bios+offset, obj->buffer.pointer, len);
	kfree(buffer.pointer);
	return len;
+3 −1
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@

#include <nvif/client.h>
#include <nvif/device.h>
#include <nvif/ioctl.h>

#include <drmP.h>

@@ -65,9 +66,10 @@ struct nouveau_drm_tile {
};

enum nouveau_drm_object_route {
	NVDRM_OBJECT_NVIF = 0,
	NVDRM_OBJECT_NVIF = NVIF_IOCTL_V0_OWNER_NVIF,
	NVDRM_OBJECT_USIF,
	NVDRM_OBJECT_ABI16,
	NVDRM_OBJECT_ANY = NVIF_IOCTL_V0_OWNER_ANY,
};

enum nouveau_drm_notify_route {
+4 −1
Original line number Diff line number Diff line
@@ -313,6 +313,9 @@ usif_ioctl(struct drm_file *filp, void __user *user, u32 argc)
	if (nvif_unpack(argv->v0, 0, 0, true)) {
		/* block access to objects not created via this interface */
		owner = argv->v0.owner;
		if (argv->v0.object == 0ULL)
			argv->v0.owner = NVDRM_OBJECT_ANY; /* except client */
		else
			argv->v0.owner = NVDRM_OBJECT_USIF;
	} else
		goto done;
+14 −2
Original line number Diff line number Diff line
@@ -278,6 +278,12 @@ nvkm_device_pci_10de_0fe3[] = {
	{}
};

static const struct nvkm_device_pci_vendor
nvkm_device_pci_10de_0fe4[] = {
	{ 0x144d, 0xc740, NULL, { .War00C800_0 = true } },
	{}
};

static const struct nvkm_device_pci_vendor
nvkm_device_pci_10de_104b[] = {
	{ 0x1043, 0x844c, "GeForce GT 625" },
@@ -688,6 +694,12 @@ nvkm_device_pci_10de_1199[] = {
	{}
};

static const struct nvkm_device_pci_vendor
nvkm_device_pci_10de_11e0[] = {
	{ 0x1558, 0x5106, NULL, { .War00C800_0 = true } },
	{}
};

static const struct nvkm_device_pci_vendor
nvkm_device_pci_10de_11e3[] = {
	{ 0x17aa, 0x3683, "GeForce GTX 760A" },
@@ -1370,7 +1382,7 @@ nvkm_device_pci_10de[] = {
	{ 0x0fe1, "GeForce GT 730M" },
	{ 0x0fe2, "GeForce GT 745M" },
	{ 0x0fe3, "GeForce GT 745M", nvkm_device_pci_10de_0fe3 },
	{ 0x0fe4, "GeForce GT 750M" },
	{ 0x0fe4, "GeForce GT 750M", nvkm_device_pci_10de_0fe4 },
	{ 0x0fe9, "GeForce GT 750M" },
	{ 0x0fea, "GeForce GT 755M" },
	{ 0x0fec, "GeForce 710A" },
@@ -1485,7 +1497,7 @@ nvkm_device_pci_10de[] = {
	{ 0x11c6, "GeForce GTX 650 Ti" },
	{ 0x11c8, "GeForce GTX 650" },
	{ 0x11cb, "GeForce GT 740" },
	{ 0x11e0, "GeForce GTX 770M" },
	{ 0x11e0, "GeForce GTX 770M", nvkm_device_pci_10de_11e0 },
	{ 0x11e1, "GeForce GTX 765M" },
	{ 0x11e2, "GeForce GTX 765M" },
	{ 0x11e3, "GeForce GTX 760M", nvkm_device_pci_10de_11e3 },
Loading