Merge branches 'acpi-ec', 'acpi-soc', 'acpi-video' and 'acpi-resources'
* acpi-ec: ACPI / EC: Remove non-standard log emphasis * acpi-soc: ACPI / LPSS: Deassert resets for SPI host controllers on Braswell ACPI / LPSS: Always disable I2C host controllers Revert "ACPI / LPSS: Remove non-existing clock control from Intel Lynxpoint I2C" * acpi-video: ACPI / video: Disable native backlight on Samsung Series 9 laptops * acpi-resources: ACPI / resources: Change pr_info() to pr_debug() for debug information
This commit is contained in:
commit
9d0de5a63a
|
@ -105,7 +105,7 @@ static void lpss_uart_setup(struct lpss_private_data *pdata)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void byt_i2c_setup(struct lpss_private_data *pdata)
|
static void lpss_deassert_reset(struct lpss_private_data *pdata)
|
||||||
{
|
{
|
||||||
unsigned int offset;
|
unsigned int offset;
|
||||||
u32 val;
|
u32 val;
|
||||||
|
@ -114,9 +114,18 @@ static void byt_i2c_setup(struct lpss_private_data *pdata)
|
||||||
val = readl(pdata->mmio_base + offset);
|
val = readl(pdata->mmio_base + offset);
|
||||||
val |= LPSS_RESETS_RESET_APB | LPSS_RESETS_RESET_FUNC;
|
val |= LPSS_RESETS_RESET_APB | LPSS_RESETS_RESET_FUNC;
|
||||||
writel(val, pdata->mmio_base + offset);
|
writel(val, pdata->mmio_base + offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LPSS_I2C_ENABLE 0x6c
|
||||||
|
|
||||||
|
static void byt_i2c_setup(struct lpss_private_data *pdata)
|
||||||
|
{
|
||||||
|
lpss_deassert_reset(pdata);
|
||||||
|
|
||||||
if (readl(pdata->mmio_base + pdata->dev_desc->prv_offset))
|
if (readl(pdata->mmio_base + pdata->dev_desc->prv_offset))
|
||||||
pdata->fixed_clk_rate = 133000000;
|
pdata->fixed_clk_rate = 133000000;
|
||||||
|
|
||||||
|
writel(0, pdata->mmio_base + LPSS_I2C_ENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct lpss_device_desc lpt_dev_desc = {
|
static struct lpss_device_desc lpt_dev_desc = {
|
||||||
|
@ -125,7 +134,7 @@ static struct lpss_device_desc lpt_dev_desc = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct lpss_device_desc lpt_i2c_dev_desc = {
|
static struct lpss_device_desc lpt_i2c_dev_desc = {
|
||||||
.flags = LPSS_CLK | LPSS_LTR,
|
.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_LTR,
|
||||||
.prv_offset = 0x800,
|
.prv_offset = 0x800,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -166,6 +175,12 @@ static struct lpss_device_desc byt_i2c_dev_desc = {
|
||||||
.setup = byt_i2c_setup,
|
.setup = byt_i2c_setup,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct lpss_device_desc bsw_spi_dev_desc = {
|
||||||
|
.flags = LPSS_CLK | LPSS_CLK_GATE | LPSS_CLK_DIVIDER | LPSS_SAVE_CTX,
|
||||||
|
.prv_offset = 0x400,
|
||||||
|
.setup = lpss_deassert_reset,
|
||||||
|
};
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define LPSS_ADDR(desc) (0UL)
|
#define LPSS_ADDR(desc) (0UL)
|
||||||
|
@ -198,7 +213,7 @@ static const struct acpi_device_id acpi_lpss_device_ids[] = {
|
||||||
/* Braswell LPSS devices */
|
/* Braswell LPSS devices */
|
||||||
{ "80862288", LPSS_ADDR(byt_pwm_dev_desc) },
|
{ "80862288", LPSS_ADDR(byt_pwm_dev_desc) },
|
||||||
{ "8086228A", LPSS_ADDR(byt_uart_dev_desc) },
|
{ "8086228A", LPSS_ADDR(byt_uart_dev_desc) },
|
||||||
{ "8086228E", LPSS_ADDR(byt_spi_dev_desc) },
|
{ "8086228E", LPSS_ADDR(bsw_spi_dev_desc) },
|
||||||
{ "808622C1", LPSS_ADDR(byt_i2c_dev_desc) },
|
{ "808622C1", LPSS_ADDR(byt_i2c_dev_desc) },
|
||||||
|
|
||||||
{ "INT3430", LPSS_ADDR(lpt_dev_desc) },
|
{ "INT3430", LPSS_ADDR(lpt_dev_desc) },
|
||||||
|
|
|
@ -680,7 +680,7 @@ static void acpi_ec_start(struct acpi_ec *ec, bool resuming)
|
||||||
/* Enable GPE for event processing (SCI_EVT=1) */
|
/* Enable GPE for event processing (SCI_EVT=1) */
|
||||||
if (!resuming)
|
if (!resuming)
|
||||||
acpi_ec_submit_request(ec);
|
acpi_ec_submit_request(ec);
|
||||||
pr_info("+++++ EC started +++++\n");
|
pr_debug("EC started\n");
|
||||||
}
|
}
|
||||||
spin_unlock_irqrestore(&ec->lock, flags);
|
spin_unlock_irqrestore(&ec->lock, flags);
|
||||||
}
|
}
|
||||||
|
@ -712,7 +712,7 @@ static void acpi_ec_stop(struct acpi_ec *ec, bool suspending)
|
||||||
acpi_ec_complete_request(ec);
|
acpi_ec_complete_request(ec);
|
||||||
clear_bit(EC_FLAGS_STARTED, &ec->flags);
|
clear_bit(EC_FLAGS_STARTED, &ec->flags);
|
||||||
clear_bit(EC_FLAGS_STOPPED, &ec->flags);
|
clear_bit(EC_FLAGS_STOPPED, &ec->flags);
|
||||||
pr_info("+++++ EC stopped +++++\n");
|
pr_debug("EC stopped\n");
|
||||||
}
|
}
|
||||||
spin_unlock_irqrestore(&ec->lock, flags);
|
spin_unlock_irqrestore(&ec->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ static bool acpi_dev_resource_len_valid(u64 start, u64 end, u64 len, bool io)
|
||||||
if (len && reslen && reslen == len && start <= end)
|
if (len && reslen && reslen == len && start <= end)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
pr_info("ACPI: invalid or unassigned resource %s [%016llx - %016llx] length [%016llx]\n",
|
pr_debug("ACPI: invalid or unassigned resource %s [%016llx - %016llx] length [%016llx]\n",
|
||||||
io ? "io" : "mem", start, end, len);
|
io ? "io" : "mem", start, end, len);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -540,6 +540,15 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "730U3E/740U3E"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "730U3E/740U3E"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
/* https://bugs.freedesktop.org/show_bug.cgi?id=87286 */
|
||||||
|
.callback = video_disable_native_backlight,
|
||||||
|
.ident = "SAMSUNG 900X3C/900X3D/900X3E/900X4C/900X4D",
|
||||||
|
.matches = {
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
|
||||||
|
DMI_MATCH(DMI_PRODUCT_NAME, "900X3C/900X3D/900X3E/900X4C/900X4D"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* https://bugzilla.redhat.com/show_bug.cgi?id=1163574 */
|
/* https://bugzilla.redhat.com/show_bug.cgi?id=1163574 */
|
||||||
|
|
Loading…
Reference in a new issue