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 { ...@@ -351,10 +351,17 @@ struct base_driver {
uint cardnuminuse[SLIC_MAX_CARDS]; uint cardnuminuse[SLIC_MAX_CARDS];
}; };
struct slic_shmem { struct slic_shmem_data {
volatile u32 isr; u32 isr;
volatile u32 linkstatus; u32 lnkstatus;
volatile struct slic_stats inicstats; 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 { struct slic_upr {
...@@ -414,9 +421,8 @@ struct adapter { ...@@ -414,9 +421,8 @@ struct adapter {
u32 intrregistered; u32 intrregistered;
uint isp_initialized; uint isp_initialized;
uint gennumber; uint gennumber;
struct slic_shmem *pshmem; struct slic_shmemory shmem;
dma_addr_t phys_shmem; dma_addr_t phys_shmem;
u32 isrcopy;
void __iomem *regs; void __iomem *regs;
unsigned char state; unsigned char state;
unsigned char linkstate; 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