public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 05/26] x86: irq: Enable SCI on IRQ9
Date: Tue, 3 May 2016 14:31:04 +0200	[thread overview]
Message-ID: <57289A08.6020409@denx.de> (raw)
In-Reply-To: <1462174426-3470-6-git-send-email-bmeng.cn@gmail.com>

Hi Bin,

On 02.05.2016 09:33, Bin Meng wrote:
> By default SCI is disabled after power on. ACTL is the register to
> enable SCI and route it to PIC/APIC. To support both ACPI in PIC
> mode and APIC mode, configure SCI to use IRQ9.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>   arch/x86/cpu/irq.c                                 | 25 ++++++++++++++++++++++
>   arch/x86/include/asm/irq.h                         |  4 ++++
>   doc/device-tree-bindings/misc/intel,irq-router.txt |  5 +++++
>   3 files changed, 34 insertions(+)
>
> diff --git a/arch/x86/cpu/irq.c b/arch/x86/cpu/irq.c
> index ae90b0c..487ac23 100644
> --- a/arch/x86/cpu/irq.c
> +++ b/arch/x86/cpu/irq.c
> @@ -146,6 +146,9 @@ static int create_pirq_routing_table(struct udevice *dev)
>   		priv->ibase &= ~0xf;
>   	}
>
> +	priv->actl_8bit = fdtdec_get_bool(blob, node, "intel,actl-8bit");
> +	priv->actl_addr = fdtdec_get_int(blob, node, "intel,actl-addr", 0);
> +
>   	cell = fdt_getprop(blob, node, "intel,pirq-routing", &len);
>   	if (!cell || len % sizeof(struct pirq_routing))
>   		return -EINVAL;
> @@ -215,6 +218,24 @@ static int create_pirq_routing_table(struct udevice *dev)
>   	return 0;
>   }
>
> +#ifdef CONFIG_GENERATE_ACPI_TABLE
> +static void irq_enable_sci(struct udevice *dev)
> +{
> +	struct irq_router *priv = dev_get_priv(dev);
> +
> +	if (priv->actl_8bit) {
> +		/* Bit7 must be turned on to enable ACPI */
> +		dm_pci_write_config8(dev->parent, priv->actl_addr, 0x80);
> +	} else {
> +		/* Write 0 to enable SCI on IRQ9 */
> +		if (priv->config == PIRQ_VIA_PCI)
> +			dm_pci_write_config32(dev->parent, priv->actl_addr, 0);
> +		else
> +			writel(0, priv->ibase + priv->actl_addr);
> +	}
> +}
> +#endif
> +
>   int irq_router_common_init(struct udevice *dev)
>   {
>   	int ret;
> @@ -228,6 +249,10 @@ int irq_router_common_init(struct udevice *dev)
>   	pirq_route_irqs(dev, pirq_routing_table->slots,
>   			get_irq_slot_count(pirq_routing_table));
>
> +#ifdef CONFIG_GENERATE_ACPI_TABLE
> +	irq_enable_sci(dev);
> +#endif

Again, this could also use IS_ENABLED.

Thanks,
Stefan

  reply	other threads:[~2016-05-03 12:31 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-02  7:33 [U-Boot] [PATCH 00/26] x86: Initial ACPI support for Intel BayTrail Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 01/26] x86: Drop asm/acpi.h Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 02/26] x86: Fix build warning in tables.c when CONFIG_SEABIOS Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 03/26] x86: acpi: Fix compiler warnings in write_acpi_tables() Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 04/26] x86: irq: Reserve IRQ9 for ACPI in PIC mode Bin Meng
2016-05-03 12:29   ` Stefan Roese
2016-05-03 12:46     ` Bin Meng
2016-05-03 13:04       ` Stefan Roese
2016-05-02  7:33 ` [U-Boot] [PATCH 05/26] x86: irq: Enable SCI on IRQ9 Bin Meng
2016-05-03 12:31   ` Stefan Roese [this message]
2016-05-07 14:06     ` Bin Meng
2016-05-07 15:42       ` Stefan Roese
2016-05-07 15:46         ` Bin Meng
2016-05-07 15:51           ` Stefan Roese
2016-05-07 18:46   ` Simon Glass
2016-05-02  7:33 ` [U-Boot] [PATCH 06/26] x86: dts: Update to include ACTL register details Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 07/26] acpi: Change build log for ASL files Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 08/26] acpi: Explicitly spell out dsdt.c in the make rule Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 09/26] acpi: Specify U-Boot include path for ASL files Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 10/26] acpi: Do not disable all errors/warnings/remarks when compiling ASL Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 11/26] x86: acpi: Remove unneeded codes Bin Meng
2016-05-03 12:33   ` Stefan Roese
2016-05-02  7:33 ` [U-Boot] [PATCH 12/26] x86: acpi: Various changes to acpi_table.h Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 13/26] x86: acpi: Reorder codes in acpi_table.h Bin Meng
2016-05-03 12:45   ` Stefan Roese
2016-05-02  7:33 ` [U-Boot] [PATCH 14/26] x86: acpi: Remove acpi_create_ssdt_generator() Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 15/26] x86: acpi: Change fill_header() Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 16/26] x86: acpi: Adjust orders in acpi_table.c Bin Meng
2016-05-03 12:48   ` Stefan Roese
2016-05-02  7:33 ` [U-Boot] [PATCH 17/26] x86: acpi: Change table write routine signature to use u32 Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 18/26] x86: acpi: Align FACS table to a 64 byte boundary Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 19/26] x86: acpi: Add some generic ASL libraries Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 20/26] x86: baytrail: Add platform ASL files Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 21/26] x86: baytrail: Generate ACPI FADT/MADT tables Bin Meng
2016-05-03 12:52   ` Stefan Roese
2016-05-07  5:48     ` Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 22/26] x86: baytrail: Enable ACPI table generation for all boards Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 23/26] x86: baytrail: Add .gitignore for ACPI enabled boards Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 24/26] x86: Remove acpi=off boot parameter when ACPI is on Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 25/26] x86: doc: Minor update for accuracy Bin Meng
2016-05-02  7:33 ` [U-Boot] [PATCH 26/26] x86: doc: Document ACPI support Bin Meng
2016-05-03 13:01 ` [U-Boot] [PATCH 00/26] x86: Initial ACPI support for Intel BayTrail Stefan Roese
2016-05-06  1:14   ` Bin Meng
2016-05-06 13:16     ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57289A08.6020409@denx.de \
    --to=sr@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox