Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 114580
b: refs/heads/master
c: ec4f994
h: refs/heads/master
v: v3
  • Loading branch information
Josh Boyer committed Sep 30, 2008
1 parent 7a45621 commit 54fd25c
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b68d185ab12b1fc8000432c5d5ab5404d4788b4c
refs/heads/master: ec4f9945b5b3e9e491a04eb1efe1c959371fa6de
8 changes: 8 additions & 0 deletions trunk/drivers/net/ibm_newemac/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,11 @@ config IBM_NEW_EMAC_EMAC4
config IBM_NEW_EMAC_NO_FLOW_CTRL
bool
default n

config IBM_NEW_EMAC_MAL_CLR_ICINTSTAT
bool
default n

config IBM_NEW_EMAC_MAL_COMMON_ERR
bool
default n
34 changes: 34 additions & 0 deletions trunk/drivers/net/ibm_newemac/mal.h
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,8 @@ struct mal_instance {
struct of_device *ofdev;
int index;
spinlock_t lock;

unsigned int features;
};

static inline u32 get_mal_dcrn(struct mal_instance *mal, int reg)
Expand All @@ -225,6 +227,38 @@ static inline void set_mal_dcrn(struct mal_instance *mal, int reg, u32 val)
dcr_write(mal->dcr_host, reg, val);
}

/* Features of various MAL implementations */

/* Set if you have interrupt coalescing and you have to clear the SDR
* register for TXEOB and RXEOB interrupts to work
*/
#define MAL_FTR_CLEAR_ICINTSTAT 0x00000001

/* Set if your MAL has SERR, TXDE, and RXDE OR'd into a single UIC
* interrupt
*/
#define MAL_FTR_COMMON_ERR_INT 0x00000002

enum {
MAL_FTRS_ALWAYS = 0,

MAL_FTRS_POSSIBLE =
#ifdef CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT
MAL_FTR_CLEAR_ICINTSTAT |
#endif
#ifdef CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR
MAL_FTR_COMMON_ERR_INT |
#endif
0,
};

static inline int mal_has_feature(struct mal_instance *dev,
unsigned long feature)
{
return (MAL_FTRS_ALWAYS & feature) ||
(MAL_FTRS_POSSIBLE & dev->features & feature);
}

/* Register MAL devices */
int mal_init(void);
void mal_exit(void);
Expand Down

0 comments on commit 54fd25c

Please sign in to comment.