Commit fdb77775 authored by Lino Sanfilippo's avatar Lino Sanfilippo Committed by Greg Kroah-Hartman

staging: slicoss: improve implementation concerning the shared memory

Remove the volatile specifiers of struct slic_shmem. Furthermore store the
bus addresses for the isr pointer, link status and statistics separately
and access the upper and lower word of these addresses by means of
[lower|upper]_32_bits(). By doing this take the endianness into account.
Signed-off-by: default avatarLino Sanfilippo <LinoSanfilippo@gmx.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c6d6a9a0
......@@ -351,10 +351,17 @@ struct base_driver {
uint cardnuminuse[SLIC_MAX_CARDS];
};
struct slic_shmem {
volatile u32 isr;
volatile u32 linkstatus;
volatile struct slic_stats inicstats;
struct slic_shmem_data {
u32 isr;
u32 lnkstatus;
struct slic_stats stats;
};
struct slic_shmemory {
dma_addr_t isr_phaddr;
dma_addr_t lnkstatus_phaddr;
dma_addr_t stats_phaddr;
struct slic_shmem_data __iomem *shmem_data;
};
struct slic_upr {
......@@ -414,9 +421,8 @@ struct adapter {
u32 intrregistered;
uint isp_initialized;
uint gennumber;
struct slic_shmem *pshmem;
struct slic_shmemory shmem;
dma_addr_t phys_shmem;
u32 isrcopy;
void __iomem *regs;
unsigned char state;
unsigned char linkstate;
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment