Lines Matching refs:isp

67 	struct amdgpu_isp *isp = container_of(genpd, struct amdgpu_isp, ispgpd);  in isp_poweroff()  local
68 struct amdgpu_device *adev = isp->adev; in isp_poweroff()
75 struct amdgpu_isp *isp = container_of(genpd, struct amdgpu_isp, ispgpd); in isp_poweron() local
76 struct amdgpu_device *adev = isp->adev; in isp_poweron()
84 struct amdgpu_isp *isp = container_of(genpd, struct amdgpu_isp, ispgpd); in isp_set_performance_state() local
85 struct amdgpu_device *adev = isp->adev; in isp_set_performance_state()
122 struct amdgpu_isp *isp = container_of(gpd, struct amdgpu_isp, ispgpd); in isp_genpd_add_device() local
123 struct amdgpu_device *adev = isp->adev; in isp_genpd_add_device()
155 struct amdgpu_isp *isp = container_of(gpd, struct amdgpu_isp, ispgpd); in isp_genpd_remove_device() local
156 struct amdgpu_device *adev = isp->adev; in isp_genpd_remove_device()
184 static int isp_v4_1_1_hw_init(struct amdgpu_isp *isp) in isp_v4_1_1_hw_init() argument
187 struct amdgpu_device *adev = isp->adev; in isp_v4_1_1_hw_init()
210 isp->ispgpd.name = "ISP_v_4_1_1"; in isp_v4_1_1_hw_init()
211 isp->ispgpd.power_off = isp_poweroff; in isp_v4_1_1_hw_init()
212 isp->ispgpd.power_on = isp_poweron; in isp_v4_1_1_hw_init()
213 isp->ispgpd.set_performance_state = isp_set_performance_state; in isp_v4_1_1_hw_init()
215 r = pm_genpd_init(&isp->ispgpd, NULL, true); in isp_v4_1_1_hw_init()
221 isp->isp_cell = kcalloc(3, sizeof(struct mfd_cell), GFP_KERNEL); in isp_v4_1_1_hw_init()
222 if (!isp->isp_cell) { in isp_v4_1_1_hw_init()
230 isp->isp_res = kcalloc(num_res, sizeof(struct resource), in isp_v4_1_1_hw_init()
232 if (!isp->isp_res) { in isp_v4_1_1_hw_init()
238 isp->isp_pdata = kzalloc(sizeof(*isp->isp_pdata), GFP_KERNEL); in isp_v4_1_1_hw_init()
239 if (!isp->isp_pdata) { in isp_v4_1_1_hw_init()
249 isp->isp_pdata->adev = (void *)adev; in isp_v4_1_1_hw_init()
250 isp->isp_pdata->asic_type = adev->asic_type; in isp_v4_1_1_hw_init()
251 isp->isp_pdata->base_rmmio_size = adev->rmmio_size; in isp_v4_1_1_hw_init()
253 isp->isp_res[0].name = "isp_4_1_1_reg"; in isp_v4_1_1_hw_init()
254 isp->isp_res[0].flags = IORESOURCE_MEM; in isp_v4_1_1_hw_init()
255 isp->isp_res[0].start = isp_base; in isp_v4_1_1_hw_init()
256 isp->isp_res[0].end = isp_base + ISP_REGS_OFFSET_END; in isp_v4_1_1_hw_init()
258 isp->isp_res[1].name = "isp_4_1_1_phy0_reg"; in isp_v4_1_1_hw_init()
259 isp->isp_res[1].flags = IORESOURCE_MEM; in isp_v4_1_1_hw_init()
260 isp->isp_res[1].start = isp_base + ISP411_PHY0_OFFSET; in isp_v4_1_1_hw_init()
261 isp->isp_res[1].end = isp_base + ISP411_PHY0_OFFSET + ISP411_PHY0_SIZE; in isp_v4_1_1_hw_init()
264 isp->isp_res[idx].name = "isp_4_1_1_irq"; in isp_v4_1_1_hw_init()
265 isp->isp_res[idx].flags = IORESOURCE_IRQ; in isp_v4_1_1_hw_init()
266 isp->isp_res[idx].start = in isp_v4_1_1_hw_init()
268 isp->isp_res[idx].end = in isp_v4_1_1_hw_init()
269 isp->isp_res[idx].start; in isp_v4_1_1_hw_init()
272 isp->isp_cell[0].name = "amd_isp_capture"; in isp_v4_1_1_hw_init()
273 isp->isp_cell[0].num_resources = num_res; in isp_v4_1_1_hw_init()
274 isp->isp_cell[0].resources = &isp->isp_res[0]; in isp_v4_1_1_hw_init()
275 isp->isp_cell[0].platform_data = isp->isp_pdata; in isp_v4_1_1_hw_init()
276 isp->isp_cell[0].swnode = isp4_node; in isp_v4_1_1_hw_init()
277 isp->isp_cell[0].pdata_size = sizeof(struct isp_platform_data); in isp_v4_1_1_hw_init()
280 isp->isp_i2c_res = kcalloc(1, sizeof(struct resource), GFP_KERNEL); in isp_v4_1_1_hw_init()
281 if (!isp->isp_i2c_res) { in isp_v4_1_1_hw_init()
287 isp->isp_i2c_res[0].name = "isp_i2c0_reg"; in isp_v4_1_1_hw_init()
288 isp->isp_i2c_res[0].flags = IORESOURCE_MEM; in isp_v4_1_1_hw_init()
289 isp->isp_i2c_res[0].start = isp_base + ISP411_I2C0_OFFSET; in isp_v4_1_1_hw_init()
290 isp->isp_i2c_res[0].end = isp_base + ISP411_I2C0_OFFSET + ISP411_I2C0_SIZE; in isp_v4_1_1_hw_init()
292 isp->isp_cell[1].name = "amd_isp_i2c_designware"; in isp_v4_1_1_hw_init()
293 isp->isp_cell[1].num_resources = 1; in isp_v4_1_1_hw_init()
294 isp->isp_cell[1].resources = &isp->isp_i2c_res[0]; in isp_v4_1_1_hw_init()
295 isp->isp_cell[1].platform_data = isp->isp_pdata; in isp_v4_1_1_hw_init()
296 isp->isp_cell[1].pdata_size = sizeof(struct isp_platform_data); in isp_v4_1_1_hw_init()
299 isp->isp_gpio_res = kcalloc(1, sizeof(struct resource), GFP_KERNEL); in isp_v4_1_1_hw_init()
300 if (!isp->isp_gpio_res) { in isp_v4_1_1_hw_init()
306 isp->isp_gpio_res[0].name = "isp_gpio_reg"; in isp_v4_1_1_hw_init()
307 isp->isp_gpio_res[0].flags = IORESOURCE_MEM; in isp_v4_1_1_hw_init()
308 isp->isp_gpio_res[0].start = isp_base + ISP411_GPIO_SENSOR_OFFSET; in isp_v4_1_1_hw_init()
309 isp->isp_gpio_res[0].end = isp_base + ISP411_GPIO_SENSOR_OFFSET + in isp_v4_1_1_hw_init()
312 isp->isp_cell[2].name = "amdisp-pinctrl"; in isp_v4_1_1_hw_init()
313 isp->isp_cell[2].num_resources = 1; in isp_v4_1_1_hw_init()
314 isp->isp_cell[2].resources = &isp->isp_gpio_res[0]; in isp_v4_1_1_hw_init()
315 isp->isp_cell[2].platform_data = isp->isp_pdata; in isp_v4_1_1_hw_init()
316 isp->isp_cell[2].pdata_size = sizeof(struct isp_platform_data); in isp_v4_1_1_hw_init()
319 r = mfd_add_hotplug_devices(isp->parent, isp->isp_cell, 2); in isp_v4_1_1_hw_init()
325 r = device_for_each_child(isp->parent, &isp->ispgpd, in isp_v4_1_1_hw_init()
332 r = mfd_add_hotplug_devices(isp->parent, &isp->isp_cell[2], 1); in isp_v4_1_1_hw_init()
342 kfree(isp->isp_pdata); in isp_v4_1_1_hw_init()
343 kfree(isp->isp_res); in isp_v4_1_1_hw_init()
344 kfree(isp->isp_cell); in isp_v4_1_1_hw_init()
345 kfree(isp->isp_i2c_res); in isp_v4_1_1_hw_init()
346 kfree(isp->isp_gpio_res); in isp_v4_1_1_hw_init()
351 static int isp_v4_1_1_hw_fini(struct amdgpu_isp *isp) in isp_v4_1_1_hw_fini() argument
353 device_for_each_child(isp->parent, NULL, in isp_v4_1_1_hw_fini()
356 mfd_remove_devices(isp->parent); in isp_v4_1_1_hw_fini()
358 kfree(isp->isp_res); in isp_v4_1_1_hw_fini()
359 kfree(isp->isp_cell); in isp_v4_1_1_hw_fini()
360 kfree(isp->isp_pdata); in isp_v4_1_1_hw_fini()
361 kfree(isp->isp_i2c_res); in isp_v4_1_1_hw_fini()
362 kfree(isp->isp_gpio_res); in isp_v4_1_1_hw_fini()
372 void isp_v4_1_1_set_isp_funcs(struct amdgpu_isp *isp) in isp_v4_1_1_set_isp_funcs() argument
374 isp->funcs = &isp_v4_1_1_funcs; in isp_v4_1_1_set_isp_funcs()