Lines Matching refs:pdata

87 	void (*setup)(struct lpss_private_data *pdata);
129 static void lpss_uart_setup(struct lpss_private_data *pdata) in lpss_uart_setup() argument
134 offset = pdata->dev_desc->prv_offset + LPSS_TX_INT; in lpss_uart_setup()
135 val = readl(pdata->mmio_base + offset); in lpss_uart_setup()
136 writel(val | LPSS_TX_INT_MASK, pdata->mmio_base + offset); in lpss_uart_setup()
138 val = readl(pdata->mmio_base + LPSS_UART_CPR); in lpss_uart_setup()
140 offset = pdata->dev_desc->prv_offset + LPSS_GENERAL; in lpss_uart_setup()
141 val = readl(pdata->mmio_base + offset); in lpss_uart_setup()
143 writel(val, pdata->mmio_base + offset); in lpss_uart_setup()
147 static void lpss_deassert_reset(struct lpss_private_data *pdata) in lpss_deassert_reset() argument
152 offset = pdata->dev_desc->prv_offset + LPSS_RESETS; in lpss_deassert_reset()
153 val = readl(pdata->mmio_base + offset); in lpss_deassert_reset()
155 writel(val, pdata->mmio_base + offset); in lpss_deassert_reset()
168 static void byt_pwm_setup(struct lpss_private_data *pdata) in byt_pwm_setup() argument
171 if (acpi_dev_uid_match(pdata->adev, 1)) in byt_pwm_setup()
177 static void byt_i2c_setup(struct lpss_private_data *pdata) in byt_i2c_setup() argument
179 acpi_handle handle = pdata->adev->handle; in byt_i2c_setup()
185 if (!acpi_dev_uid_to_integer(pdata->adev, &uid) && uid) { in byt_i2c_setup()
192 lpss_deassert_reset(pdata); in byt_i2c_setup()
194 if (readl(pdata->mmio_base + pdata->dev_desc->prv_offset)) in byt_i2c_setup()
195 pdata->fixed_clk_rate = 133000000; in byt_i2c_setup()
197 writel(0, pdata->mmio_base + LPSS_I2C_ENABLE); in byt_i2c_setup()
215 static void bsw_pwm_setup(struct lpss_private_data *pdata) in bsw_pwm_setup() argument
218 if (acpi_dev_uid_match(pdata->adev, 1)) in bsw_pwm_setup()
406 struct lpss_private_data *pdata) in register_device_clock() argument
408 const struct lpss_device_desc *dev_desc = pdata->dev_desc; in register_device_clock()
426 if (!pdata->mmio_base in register_device_clock()
427 || pdata->mmio_size < dev_desc->prv_offset + LPSS_CLK_SIZE) in register_device_clock()
431 prv_base = pdata->mmio_base + dev_desc->prv_offset; in register_device_clock()
433 if (pdata->fixed_clk_rate) { in register_device_clock()
435 pdata->fixed_clk_rate); in register_device_clock()
474 pdata->clk = clk; in register_device_clock()
616 struct lpss_private_data *pdata; in acpi_lpss_create_device() local
626 pdata = kzalloc_obj(*pdata); in acpi_lpss_create_device()
627 if (!pdata) in acpi_lpss_create_device()
638 pdata->mmio_size = dev_desc->prv_size_override; in acpi_lpss_create_device()
640 pdata->mmio_size = resource_size(rentry->res); in acpi_lpss_create_device()
641 pdata->mmio_base = ioremap(rentry->res->start, pdata->mmio_size); in acpi_lpss_create_device()
646 if (!pdata->mmio_base) { in acpi_lpss_create_device()
652 pdata->adev = adev; in acpi_lpss_create_device()
653 pdata->dev_desc = dev_desc; in acpi_lpss_create_device()
656 dev_desc->setup(pdata); in acpi_lpss_create_device()
659 ret = register_device_clock(adev, pdata); in acpi_lpss_create_device()
671 adev->driver_data = pdata; in acpi_lpss_create_device()
686 kfree(pdata); in acpi_lpss_create_device()
690 static u32 __lpss_reg_read(struct lpss_private_data *pdata, unsigned int reg) in __lpss_reg_read() argument
692 return readl(pdata->mmio_base + pdata->dev_desc->prv_offset + reg); in __lpss_reg_read()
695 static void __lpss_reg_write(u32 val, struct lpss_private_data *pdata, in __lpss_reg_write() argument
698 writel(val, pdata->mmio_base + pdata->dev_desc->prv_offset + reg); in __lpss_reg_write()
704 struct lpss_private_data *pdata; in lpss_reg_read() local
716 pdata = acpi_driver_data(adev); in lpss_reg_read()
717 if (WARN_ON(!pdata || !pdata->mmio_base)) { in lpss_reg_read()
721 *val = __lpss_reg_read(pdata, reg); in lpss_reg_read()
777 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_set_ltr() local
780 ltr_mode = __lpss_reg_read(pdata, LPSS_GENERAL); in acpi_lpss_set_ltr()
784 __lpss_reg_write(ltr_mode, pdata, LPSS_GENERAL); in acpi_lpss_set_ltr()
788 ltr_val = __lpss_reg_read(pdata, LPSS_SW_LTR) & ~LPSS_LTR_SNOOP_MASK; in acpi_lpss_set_ltr()
799 __lpss_reg_write(ltr_val, pdata, LPSS_SW_LTR); in acpi_lpss_set_ltr()
802 __lpss_reg_write(ltr_mode, pdata, LPSS_GENERAL); in acpi_lpss_set_ltr()
817 struct lpss_private_data *pdata) in acpi_lpss_save_ctx() argument
824 pdata->prv_reg_ctx[i] = __lpss_reg_read(pdata, offset); in acpi_lpss_save_ctx()
826 pdata->prv_reg_ctx[i], offset); in acpi_lpss_save_ctx()
838 struct lpss_private_data *pdata) in acpi_lpss_restore_ctx() argument
845 __lpss_reg_write(pdata->prv_reg_ctx[i], pdata, offset); in acpi_lpss_restore_ctx()
847 pdata->prv_reg_ctx[i], offset); in acpi_lpss_restore_ctx()
851 static void acpi_lpss_d3_to_d0_delay(struct lpss_private_data *pdata) in acpi_lpss_d3_to_d0_delay() argument
861 if (pdata->dev_desc->flags & LPSS_NO_D3_DELAY) in acpi_lpss_d3_to_d0_delay()
869 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_activate() local
876 acpi_lpss_d3_to_d0_delay(pdata); in acpi_lpss_activate()
884 if (pdata->dev_desc->flags & (LPSS_SAVE_CTX | LPSS_SAVE_CTX_ONCE)) in acpi_lpss_activate()
885 lpss_deassert_reset(pdata); in acpi_lpss_activate()
887 if (pdata->dev_desc->flags & LPSS_SAVE_CTX_ONCE) in acpi_lpss_activate()
888 acpi_lpss_save_ctx(dev, pdata); in acpi_lpss_activate()
995 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_suspend() local
998 if (pdata->dev_desc->flags & LPSS_SAVE_CTX) in acpi_lpss_suspend()
999 acpi_lpss_save_ctx(dev, pdata); in acpi_lpss_suspend()
1017 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_resume() local
1031 acpi_lpss_d3_to_d0_delay(pdata); in acpi_lpss_resume()
1033 if (pdata->dev_desc->flags & (LPSS_SAVE_CTX | LPSS_SAVE_CTX_ONCE)) in acpi_lpss_resume()
1034 acpi_lpss_restore_ctx(dev, pdata); in acpi_lpss_resume()
1053 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_suspend_late() local
1055 if (pdata->dev_desc->resume_from_noirq) in acpi_lpss_suspend_late()
1063 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_suspend_noirq() local
1066 if (pdata->dev_desc->resume_from_noirq) { in acpi_lpss_suspend_noirq()
1091 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_resume_early() local
1093 if (pdata->dev_desc->resume_from_noirq) in acpi_lpss_resume_early()
1104 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_resume_noirq() local
1115 if (!pdata->dev_desc->resume_from_noirq) in acpi_lpss_resume_noirq()
1137 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_restore_early() local
1139 if (pdata->dev_desc->resume_from_noirq) in acpi_lpss_restore_early()
1147 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_restore_noirq() local
1154 if (!pdata->dev_desc->resume_from_noirq) in acpi_lpss_restore_noirq()
1170 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_poweroff_late() local
1175 if (pdata->dev_desc->resume_from_noirq) in acpi_lpss_poweroff_late()
1183 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_poweroff_noirq() local
1188 if (pdata->dev_desc->resume_from_noirq) { in acpi_lpss_poweroff_noirq()
1247 struct lpss_private_data *pdata; in acpi_lpss_platform_notify() local
1259 pdata = acpi_driver_data(adev); in acpi_lpss_platform_notify()
1260 if (!pdata) in acpi_lpss_platform_notify()
1263 if (pdata->mmio_base && in acpi_lpss_platform_notify()
1264 pdata->mmio_size < pdata->dev_desc->prv_offset + LPSS_LTR_SIZE) { in acpi_lpss_platform_notify()
1279 if (pdata->dev_desc->flags & LPSS_LTR) in acpi_lpss_platform_notify()
1284 if (pdata->dev_desc->flags & LPSS_LTR) in acpi_lpss_platform_notify()
1301 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_bind() local
1303 if (!pdata || !pdata->mmio_base || !(pdata->dev_desc->flags & LPSS_LTR)) in acpi_lpss_bind()
1306 if (pdata->mmio_size >= pdata->dev_desc->prv_offset + LPSS_LTR_SIZE) in acpi_lpss_bind()