# /space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/hal/hal_machw.c File Reference

Implementation of the Initialization of Interrupt control registers and handling of the Interrupts. More...

`#include "dbg_assert.h"`
`#include "co_endian.h"`
`#include "mm.h"`
`#include "ke_event.h"`
`#include "hal_machw.h"`
`#include "rxl_cntrl.h"`
`#include "rxl_hwdesc.h"`
`#include "reg_mac_core.h"`
`#include "reg_mac_pl.h"`
`#include "ps.h"`
`#include "dbg.h"`
`#include "macif.h"`
`#include "crm.h"`

Go to the source code of this file.

## Defines
#define | HW_ERROR_IRQ
| Error interrupts.
#define | HE_TIMER_BIT 0
| HE TX timeout bit.
#define | TIMEOUT_IRQ
| Timeout error interrupts.
#define | TX_IRQ
| TX interrupt bits.
#define | RX_IRQ (NXMAC_COUNTER_RX_TRIGGER_BIT | NXMAC_TIMER_RX_TRIGGER_BIT)
| RX interrupt bits.
#define | BW_DROP_IRQ 0
| Bandwidth drop interrupt bits.
#define | MAC_HW_RESET
| FSMs and FIFOs that have to be reset by the error recovery mechanism.
#define | IDLE_REQ_TIMEOUT 50000
| Timeout duration when a IDLE state is requested to the HW.
#define | TIMING_UPDATE(param, old, new)
| Macro used to apply a ratio on a MAC timing parameter when switching from one MAC core clock value to another one.
## Functions
static void | hal_machw_idle_irq_handler (void)
| IDLE Interrupt Handler.
static void | hal_machw_setfreq (uint8_t newfreq)
| Updates the MAC HW timing registers according to the frequency actually used.
void | hal_machw_idle_req (void)
| Ask to HW to move to IDLE state.
void | hal_machw_stop (void)
| Stop the operation of the MAC HW.
void | hal_machw_init (void)
| Interrupt Controller initialization.
void | hal_machw_disable_int (void)
| MAC HW interrupt disable function.
void | hal_machw_reset (void)
| MAC HW reset function.
uint8_t | hal_machw_search_addr (struct mac_addr *addr)
| Function accessing the HW address search engine.
void | hal_machw_monitor_mode (void)
| Put back the MAC HW in monitoring mode.
int | hal_machw_tsf_move (int32_t offset)
| Apply an offset (positive or negative) to the TSF timer.
bool | hal_machw_sleep_check (void)
| Check if the HW timers don expire too early to go to sleep.
static void | hal_machw_abs_timer_handler (void)
| Absolute timer interrupt Handler.
void | hal_machw_gen_handler (void)
| Interrupt Handling.
## Variables
const uint8_t | rxv2macrate []
| Table of conversion between a RX vector rate to a MAC HW rate.

## Detailed Description

Implementation of the Initialization of Interrupt control registers and handling of the Interrupts.

Copyright (C) RivieraWaves 2011-2019

Definition in file hal_machw.c.