mbgtools-lx  4.2.8
pcpsirq.h File Reference
#include <pcpsdrvr.h>
#include <amccdefs.h>
#include <pci_asic.h>

Go to the source code of this file.

Macros

#define _pcps_ddev_enb_irq_mca(_d)   _nop_macro_fnc()
 
#define _pcps_ddev_disb_irq_mca(_d)   _nop_macro_fnc()
 
#define _pcps_ddev_ack_irq_mca(_d)   _nop_macro_fnc()
 
#define _mbg_inp32_to_cpu_ex(_d, _i, _p, _r)
 
#define _mbg_outp32_to_mbg_ex(_d, _i, _p, _r, _v)
 
#define _pcps_ddev_ack_irq_pci(_d)
 
#define _pcps_ddev_enb_irq_pci(_d)
 
#define _pcps_ddev_disb_irq_pci(_d)
 
#define _pcps_ddev_has_gen_irq(_d)
 
#define _pcps_ddev_ack_irq(_d)
 
#define _pcps_ddev_enb_irq(_d, _cmd)
 
#define _pcps_ddev_disb_irq(_d)
 

Macro Definition Documentation

◆ _mbg_inp32_to_cpu_ex

#define _mbg_inp32_to_cpu_ex (   _d,
  _i,
  _p,
  _r 
)
Value:
_mbg_mmrd32_to_cpu( &(_d)->mm_asic_addr->control_status.ul ) : \
_mbg_inp32_to_cpu( (_d), (_i), (_p) ) \
)
#define _pcps_ddev_access_mode_mm(_p)
Definition: pcpsdrvr.h:1213
#define _mbg_inp32_to_cpu(_dev, _rsrc_idx, _port_addr)
Definition: mbggenio.h:614

Definition at line 121 of file pcpsirq.h.

◆ _mbg_outp32_to_mbg_ex

#define _mbg_outp32_to_mbg_ex (   _d,
  _i,
  _p,
  _r,
  _v 
)
Value:
do \
{ \
if ( _pcps_ddev_access_mode_mm( (_d) ) ) \
_mbg_mmwr32_to_mbg( &(_d)->mm_asic_addr->control_status.ul, (_v) ); \
_mbg_outp32_to_mbg( _d, _i, _p, _v ); \
} while ( 0 )
#define _pcps_ddev_access_mode_mm(_p)
Definition: pcpsdrvr.h:1213
#define _mbg_outp32_to_mbg(_dev, _rsrc_idx, _port_addr, _val)
Definition: mbggenio.h:620

Definition at line 127 of file pcpsirq.h.

◆ _pcps_ddev_ack_irq

#define _pcps_ddev_ack_irq (   _d)
Value:
{ \
_pcps_ddev_ack_irq_pci( _d ); \
_pcps_ddev_ack_irq_mca( _d ); \
}

Definition at line 212 of file pcpsirq.h.

Referenced by mbgclock_irq_handler().

◆ _pcps_ddev_ack_irq_mca

#define _pcps_ddev_ack_irq_mca (   _d)    _nop_macro_fnc()

Definition at line 107 of file pcpsirq.h.

◆ _pcps_ddev_ack_irq_pci

#define _pcps_ddev_ack_irq_pci (   _d)
Value:
if ( (_d)->irq_ack_mask ) \
{ \
if ( _pcps_ddev_is_pci_amcc( _d ) ) \
_mbg_inp32_to_cpu( (_d), 0, _pcps_ddev_io_base_mapped( _d, 0 ) \
_mbg_outp32_to_mbg_ex( (_d), 0, (_d)->irq_ack_port, control_status, \
(_d)->irq_ack_mask ); \
}
#define _pcps_ddev_io_base_mapped(_p, _n)
Definition: pcpsdrvr.h:1177
#define _mbg_outp32_to_mbg_ex(_d, _i, _p, _r, _v)
Definition: pcpsirq.h:127
#define _pcps_ddev_is_pci_amcc(_p)
Definition: pcpsdrvr.h:1160
#define AMCC_OP_REG_IMB4
Definition: amccdefs.h:54

Definition at line 150 of file pcpsirq.h.

◆ _pcps_ddev_disb_irq

#define _pcps_ddev_disb_irq (   _d)
Value:
{ \
_pcps_sem_inc( _d ); \
_pcps_write_byte( _d, PCPS_IRQ_NONE ); \
_pcps_ddev_disb_irq_mca( _d ); \
_pcps_ddev_disb_irq_pci( _d ); \
_pcps_sem_dec( _d ); \
}
#define PCPS_IRQ_NONE
(-w) Disable IRQs
Definition: pcpsdefs.h:722

Definition at line 242 of file pcpsirq.h.

Referenced by mbgdrvr_disable_cyclic().

◆ _pcps_ddev_disb_irq_mca

#define _pcps_ddev_disb_irq_mca (   _d)    _nop_macro_fnc()

Definition at line 106 of file pcpsirq.h.

◆ _pcps_ddev_disb_irq_pci

#define _pcps_ddev_disb_irq_pci (   _d)
Value:
if ( (_d)->irq_disb_mask ) \
{ \
uint32_t intcsr = _mbg_inp32_to_cpu_ex( (_d), 0, \
(_d)->irq_enb_disb_port, control_status ); \
_mbg_outp32_to_mbg_ex( (_d), 0, (_d)->irq_enb_disb_port, control_status, \
intcsr & ~(_d)->irq_disb_mask ); \
}
#define _mbg_inp32_to_cpu_ex(_d, _i, _p, _r)
Definition: pcpsirq.h:121

Definition at line 174 of file pcpsirq.h.

◆ _pcps_ddev_enb_irq

#define _pcps_ddev_enb_irq (   _d,
  _cmd 
)
Value:
{ \
_pcps_sem_inc( _d ); \
_pcps_ddev_enb_irq_mca( _d ); \
_pcps_ddev_enb_irq_pci( _d ); \
_pcps_write_byte( _d, _cmd ); \
_pcps_sem_dec( _d ); \
}

Definition at line 227 of file pcpsirq.h.

Referenced by mbgdrvr_enable_cyclic().

◆ _pcps_ddev_enb_irq_mca

#define _pcps_ddev_enb_irq_mca (   _d)    _nop_macro_fnc()

Definition at line 105 of file pcpsirq.h.

◆ _pcps_ddev_enb_irq_pci

#define _pcps_ddev_enb_irq_pci (   _d)
Value:
if ( (_d)->irq_enb_mask ) \
{ \
uint32_t intcsr = _mbg_inp32_to_cpu_ex( (_d), 0, \
(_d)->irq_enb_disb_port, control_status ); \
_mbg_outp32_to_mbg_ex( (_d), 0, (_d)->irq_enb_disb_port, control_status, \
intcsr | (_d)->irq_enb_mask ); \
}
#define _mbg_inp32_to_cpu_ex(_d, _i, _p, _r)
Definition: pcpsirq.h:121

Definition at line 163 of file pcpsirq.h.

◆ _pcps_ddev_has_gen_irq

#define _pcps_ddev_has_gen_irq (   _d)
Value:
( ( (_d)->irq_flag_mask ) ? \
( _mbg_inp32_to_cpu_ex( (_d), 0, (_d)->irq_flag_port, control_status ) & (_d)->irq_flag_mask ) : \
)
static __mbg_inline uint8_t _pcps_ddev_read_status_port(const PCPS_DDEV *pddev)
Definition: pcpsdrvr.h:1430
#define _mbg_inp32_to_cpu_ex(_d, _i, _p, _r)
Definition: pcpsirq.h:121
#define PCPS_ST_IRQF
the clock has generated an IRQ on the PC bus (ISA cards only)
Definition: pcpsdefs.h:453

Definition at line 198 of file pcpsirq.h.

Referenced by mbgclock_irq_handler().