diff options
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c | 16 | 
2 files changed, 10 insertions, 8 deletions
| diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c index 18fab3973ce5..62ad0300cfa5 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c @@ -1614,7 +1614,7 @@ nvkm_device_pci_func = {  	.fini = nvkm_device_pci_fini,  	.resource_addr = nvkm_device_pci_resource_addr,  	.resource_size = nvkm_device_pci_resource_size, -	.cpu_coherent = !IS_ENABLED(CONFIG_ARM) && !IS_ENABLED(CONFIG_ARM64), +	.cpu_coherent = !IS_ENABLED(CONFIG_ARM),  };  int diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c index 323c79abe468..41bd5d0f7692 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c @@ -276,6 +276,8 @@ nvkm_iccsense_oneinit(struct nvkm_subdev *subdev)  		struct pwr_rail_t *r = &stbl.rail[i];  		struct nvkm_iccsense_rail *rail;  		struct nvkm_iccsense_sensor *sensor; +		int (*read)(struct nvkm_iccsense *, +			    struct nvkm_iccsense_rail *);  		if (!r->mode || r->resistor_mohm == 0)  			continue; @@ -284,31 +286,31 @@ nvkm_iccsense_oneinit(struct nvkm_subdev *subdev)  		if (!sensor)  			continue; -		rail = kmalloc(sizeof(*rail), GFP_KERNEL); -		if (!rail) -			return -ENOMEM; -  		switch (sensor->type) {  		case NVBIOS_EXTDEV_INA209:  			if (r->rail != 0)  				continue; -			rail->read = nvkm_iccsense_ina209_read; +			read = nvkm_iccsense_ina209_read;  			break;  		case NVBIOS_EXTDEV_INA219:  			if (r->rail != 0)  				continue; -			rail->read = nvkm_iccsense_ina219_read; +			read = nvkm_iccsense_ina219_read;  			break;  		case NVBIOS_EXTDEV_INA3221:  			if (r->rail >= 3)  				continue; -			rail->read = nvkm_iccsense_ina3221_read; +			read = nvkm_iccsense_ina3221_read;  			break;  		default:  			continue;  		} +		rail = kmalloc(sizeof(*rail), GFP_KERNEL); +		if (!rail) +			return -ENOMEM;  		sensor->rail_mask |= 1 << r->rail; +		rail->read = read;  		rail->sensor = sensor;  		rail->idx = r->rail;  		rail->mohm = r->resistor_mohm; | 
