cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

irq.c (1507B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * arch/sh/boards/mach-landisk/irq.c
      4 *
      5 * I-O DATA Device, Inc. LANDISK Support
      6 *
      7 * Copyright (C) 2005-2007 kogiidena
      8 * Copyright (C) 2011 Nobuhiro Iwamatsu
      9 *
     10 * Copyright (C) 2001  Ian da Silva, Jeremy Siegel
     11 * Based largely on io_se.c.
     12 */
     13
     14#include <linux/init.h>
     15#include <linux/irq.h>
     16#include <linux/interrupt.h>
     17#include <linux/io.h>
     18#include <mach-landisk/mach/iodata_landisk.h>
     19
     20enum {
     21	UNUSED = 0,
     22
     23	PCI_INTA, /* PCI int A */
     24	PCI_INTB, /* PCI int B */
     25	PCI_INTC, /* PCI int C */
     26	PCI_INTD, /* PCI int D */
     27	ATA,	  /* ATA */
     28	FATA,	  /* CF */
     29	POWER,	  /* Power switch */
     30	BUTTON,	  /* Button switch */
     31};
     32
     33/* Vectors for LANDISK */
     34static struct intc_vect vectors_landisk[] __initdata = {
     35	INTC_IRQ(PCI_INTA, IRQ_PCIINTA),
     36	INTC_IRQ(PCI_INTB, IRQ_PCIINTB),
     37	INTC_IRQ(PCI_INTC, IRQ_PCIINTC),
     38	INTC_IRQ(PCI_INTD, IRQ_PCIINTD),
     39	INTC_IRQ(ATA, IRQ_ATA),
     40	INTC_IRQ(FATA, IRQ_FATA),
     41	INTC_IRQ(POWER, IRQ_POWER),
     42	INTC_IRQ(BUTTON, IRQ_BUTTON),
     43};
     44
     45/* IRLMSK mask register layout for LANDISK */
     46static struct intc_mask_reg mask_registers_landisk[] __initdata = {
     47	{ PA_IMASK, 0, 8, /* IRLMSK */
     48	  {  BUTTON, POWER, FATA, ATA,
     49	     PCI_INTD, PCI_INTC, PCI_INTB, PCI_INTA,
     50	  }
     51	},
     52};
     53
     54static DECLARE_INTC_DESC(intc_desc_landisk, "landisk", vectors_landisk, NULL,
     55			mask_registers_landisk, NULL, NULL);
     56/*
     57 * Initialize IRQ setting
     58 */
     59void __init init_landisk_IRQ(void)
     60{
     61	register_intc_controller(&intc_desc_landisk);
     62	__raw_writeb(0x00, PA_PWRINT_CLR);
     63}