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

wakeup-mask.h (1180B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Copyright 2010 Ben Dooks <ben-linux@fluff.org>
      4 *
      5 * Support for wakeup mask interrupts on newer SoCs
      6 */
      7
      8#ifndef __PLAT_WAKEUP_MASK_H
      9#define __PLAT_WAKEUP_MASK_H __file__
     10
     11/* if no irq yet defined, but still want to mask */
     12#define NO_WAKEUP_IRQ (0x90000000)
     13
     14/**
     15 * struct samsung_wakeup_mask - wakeup mask information
     16 * @irq: The interrupt associated with this wakeup.
     17 * @bit: The bit, as a (1 << bitno) controlling this source.
     18 */ 
     19struct samsung_wakeup_mask {
     20	unsigned int	irq;
     21	u32		bit;
     22};
     23
     24/**
     25 * samsung_sync_wakemask - sync wakeup mask information for pm
     26 * @reg: The register that is used.
     27 * @masks: The list of masks to use.
     28 * @nr_masks: The number of entries pointed to buy @masks.
     29 *
     30 * Synchronise the wakeup mask information at suspend time from the list
     31 * of interrupts and control bits in @masks. We do this at suspend time
     32 * as overriding the relevant irq chips is harder and the register is only
     33 * required to be correct before we enter sleep.
     34 */
     35extern void samsung_sync_wakemask(void __iomem *reg,
     36				  const struct samsung_wakeup_mask *masks,
     37				  int nr_masks);
     38
     39#endif /* __PLAT_WAKEUP_MASK_H */