Lines Matching refs:pdata

71 	void (*setup)(struct lpss_private_data *pdata);
91 static void lpss_uart_setup(struct lpss_private_data *pdata) in lpss_uart_setup() argument
96 offset = pdata->dev_desc->prv_offset + LPSS_TX_INT; in lpss_uart_setup()
97 val = readl(pdata->mmio_base + offset); in lpss_uart_setup()
98 writel(val | LPSS_TX_INT_MASK, pdata->mmio_base + offset); in lpss_uart_setup()
100 val = readl(pdata->mmio_base + LPSS_UART_CPR); in lpss_uart_setup()
102 offset = pdata->dev_desc->prv_offset + LPSS_GENERAL; in lpss_uart_setup()
103 val = readl(pdata->mmio_base + offset); in lpss_uart_setup()
105 writel(val, pdata->mmio_base + offset); in lpss_uart_setup()
109 static void lpss_deassert_reset(struct lpss_private_data *pdata) in lpss_deassert_reset() argument
114 offset = pdata->dev_desc->prv_offset + LPSS_RESETS; in lpss_deassert_reset()
115 val = readl(pdata->mmio_base + offset); in lpss_deassert_reset()
117 writel(val, pdata->mmio_base + offset); in lpss_deassert_reset()
122 static void byt_i2c_setup(struct lpss_private_data *pdata) in byt_i2c_setup() argument
124 lpss_deassert_reset(pdata); in byt_i2c_setup()
126 if (readl(pdata->mmio_base + pdata->dev_desc->prv_offset)) in byt_i2c_setup()
127 pdata->fixed_clk_rate = 133000000; in byt_i2c_setup()
129 writel(0, pdata->mmio_base + LPSS_I2C_ENABLE); in byt_i2c_setup()
274 struct lpss_private_data *pdata) in register_device_clock() argument
276 const struct lpss_device_desc *dev_desc = pdata->dev_desc; in register_device_clock()
291 if (!pdata->mmio_base in register_device_clock()
292 || pdata->mmio_size < dev_desc->prv_offset + LPSS_CLK_SIZE) in register_device_clock()
296 prv_base = pdata->mmio_base + dev_desc->prv_offset; in register_device_clock()
298 if (pdata->fixed_clk_rate) { in register_device_clock()
300 pdata->fixed_clk_rate); in register_device_clock()
338 pdata->clk = clk; in register_device_clock()
347 struct lpss_private_data *pdata; in acpi_lpss_create_device() local
358 pdata = kzalloc(sizeof(*pdata), GFP_KERNEL); in acpi_lpss_create_device()
359 if (!pdata) in acpi_lpss_create_device()
370 pdata->mmio_size = dev_desc->prv_size_override; in acpi_lpss_create_device()
372 pdata->mmio_size = resource_size(rentry->res); in acpi_lpss_create_device()
373 pdata->mmio_base = ioremap(rentry->res->start, in acpi_lpss_create_device()
374 pdata->mmio_size); in acpi_lpss_create_device()
380 if (!pdata->mmio_base) { in acpi_lpss_create_device()
385 pdata->dev_desc = dev_desc; in acpi_lpss_create_device()
388 dev_desc->setup(pdata); in acpi_lpss_create_device()
391 ret = register_device_clock(adev, pdata); in acpi_lpss_create_device()
411 adev->driver_data = pdata; in acpi_lpss_create_device()
421 kfree(pdata); in acpi_lpss_create_device()
425 static u32 __lpss_reg_read(struct lpss_private_data *pdata, unsigned int reg) in __lpss_reg_read() argument
427 return readl(pdata->mmio_base + pdata->dev_desc->prv_offset + reg); in __lpss_reg_read()
430 static void __lpss_reg_write(u32 val, struct lpss_private_data *pdata, in __lpss_reg_write() argument
433 writel(val, pdata->mmio_base + pdata->dev_desc->prv_offset + reg); in __lpss_reg_write()
439 struct lpss_private_data *pdata; in lpss_reg_read() local
452 pdata = acpi_driver_data(adev); in lpss_reg_read()
453 if (WARN_ON(!pdata || !pdata->mmio_base)) { in lpss_reg_read()
457 *val = __lpss_reg_read(pdata, reg); in lpss_reg_read()
512 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_set_ltr() local
515 ltr_mode = __lpss_reg_read(pdata, LPSS_GENERAL); in acpi_lpss_set_ltr()
519 __lpss_reg_write(ltr_mode, pdata, LPSS_GENERAL); in acpi_lpss_set_ltr()
523 ltr_val = __lpss_reg_read(pdata, LPSS_SW_LTR) & ~LPSS_LTR_SNOOP_MASK; in acpi_lpss_set_ltr()
534 __lpss_reg_write(ltr_val, pdata, LPSS_SW_LTR); in acpi_lpss_set_ltr()
537 __lpss_reg_write(ltr_mode, pdata, LPSS_GENERAL); in acpi_lpss_set_ltr()
552 struct lpss_private_data *pdata) in acpi_lpss_save_ctx() argument
559 pdata->prv_reg_ctx[i] = __lpss_reg_read(pdata, offset); in acpi_lpss_save_ctx()
561 pdata->prv_reg_ctx[i], offset); in acpi_lpss_save_ctx()
573 struct lpss_private_data *pdata) in acpi_lpss_restore_ctx() argument
585 if (pdata->dev_desc->flags & LPSS_NO_D3_DELAY) in acpi_lpss_restore_ctx()
593 __lpss_reg_write(pdata->prv_reg_ctx[i], pdata, offset); in acpi_lpss_restore_ctx()
595 pdata->prv_reg_ctx[i], offset); in acpi_lpss_restore_ctx()
602 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_suspend_late() local
609 if (pdata->dev_desc->flags & LPSS_SAVE_CTX) in acpi_lpss_suspend_late()
610 acpi_lpss_save_ctx(dev, pdata); in acpi_lpss_suspend_late()
617 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_resume_early() local
624 if (pdata->dev_desc->flags & LPSS_SAVE_CTX) in acpi_lpss_resume_early()
625 acpi_lpss_restore_ctx(dev, pdata); in acpi_lpss_resume_early()
633 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_runtime_suspend() local
640 if (pdata->dev_desc->flags & LPSS_SAVE_CTX) in acpi_lpss_runtime_suspend()
641 acpi_lpss_save_ctx(dev, pdata); in acpi_lpss_runtime_suspend()
648 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_runtime_resume() local
655 if (pdata->dev_desc->flags & LPSS_SAVE_CTX) in acpi_lpss_runtime_resume()
656 acpi_lpss_restore_ctx(dev, pdata); in acpi_lpss_runtime_resume()
686 struct lpss_private_data *pdata; in acpi_lpss_platform_notify() local
697 pdata = acpi_driver_data(adev); in acpi_lpss_platform_notify()
698 if (!pdata) in acpi_lpss_platform_notify()
701 if (pdata->mmio_base && in acpi_lpss_platform_notify()
702 pdata->mmio_size < pdata->dev_desc->prv_offset + LPSS_LTR_SIZE) { in acpi_lpss_platform_notify()
710 if (pdata->dev_desc->flags & LPSS_LTR) in acpi_lpss_platform_notify()
715 if (pdata->dev_desc->flags & LPSS_LTR) in acpi_lpss_platform_notify()
732 struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev)); in acpi_lpss_bind() local
734 if (!pdata || !pdata->mmio_base || !(pdata->dev_desc->flags & LPSS_LTR)) in acpi_lpss_bind()
737 if (pdata->mmio_size >= pdata->dev_desc->prv_offset + LPSS_LTR_SIZE) in acpi_lpss_bind()