Commit 56b58712 authored by Mark Haverkamp 's avatar Mark Haverkamp Committed by James Bottomley

[SCSI] aacraid: remove sparse warnings

This patch addresses the sparse -Wbitwise warnings that Christoph wanted
me to eliminate.  This mostly consisted of making data structure
elements of hardware associated structures the __le* equivalent.
Although there were a couple places where there was mixing of cpu and le
variable math.  These changes have been tested on both an x86 and ppc
machine running bonnie++.  The usage of the LE32_ALL_ONES macro has been
eliminated.
Signed-off-by: default avatarMark Haverkamp <markh@osdl.org>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 1c2fb3f3
...@@ -1893,7 +1893,9 @@ static unsigned long aac_build_sg(struct scsi_cmnd* scsicmd, struct sgmap* psg) ...@@ -1893,7 +1893,9 @@ static unsigned long aac_build_sg(struct scsi_cmnd* scsicmd, struct sgmap* psg)
} }
/* hba wants the size to be exact */ /* hba wants the size to be exact */
if(byte_count > scsicmd->request_bufflen){ if(byte_count > scsicmd->request_bufflen){
psg->sg[i-1].count -= (byte_count - scsicmd->request_bufflen); u32 temp = le32_to_cpu(psg->sg[i-1].count) -
(byte_count - scsicmd->request_bufflen);
psg->sg[i-1].count = cpu_to_le32(temp);
byte_count = scsicmd->request_bufflen; byte_count = scsicmd->request_bufflen;
} }
/* Check for command underflow */ /* Check for command underflow */
...@@ -1922,7 +1924,7 @@ static unsigned long aac_build_sg64(struct scsi_cmnd* scsicmd, struct sgmap64* p ...@@ -1922,7 +1924,7 @@ static unsigned long aac_build_sg64(struct scsi_cmnd* scsicmd, struct sgmap64* p
{ {
struct aac_dev *dev; struct aac_dev *dev;
unsigned long byte_count = 0; unsigned long byte_count = 0;
u64 le_addr; u64 addr;
dev = (struct aac_dev *)scsicmd->device->host->hostdata; dev = (struct aac_dev *)scsicmd->device->host->hostdata;
// Get rid of old data // Get rid of old data
...@@ -1943,16 +1945,18 @@ static unsigned long aac_build_sg64(struct scsi_cmnd* scsicmd, struct sgmap64* p ...@@ -1943,16 +1945,18 @@ static unsigned long aac_build_sg64(struct scsi_cmnd* scsicmd, struct sgmap64* p
byte_count = 0; byte_count = 0;
for (i = 0; i < sg_count; i++) { for (i = 0; i < sg_count; i++) {
le_addr = cpu_to_le64(sg_dma_address(sg)); addr = sg_dma_address(sg);
psg->sg[i].addr[1] = (u32)(le_addr>>32); psg->sg[i].addr[0] = cpu_to_le32(addr & 0xffffffff);
psg->sg[i].addr[0] = (u32)(le_addr & 0xffffffff); psg->sg[i].addr[1] = cpu_to_le32(addr>>32);
psg->sg[i].count = cpu_to_le32(sg_dma_len(sg)); psg->sg[i].count = cpu_to_le32(sg_dma_len(sg));
byte_count += sg_dma_len(sg); byte_count += sg_dma_len(sg);
sg++; sg++;
} }
/* hba wants the size to be exact */ /* hba wants the size to be exact */
if(byte_count > scsicmd->request_bufflen){ if(byte_count > scsicmd->request_bufflen){
psg->sg[i-1].count -= (byte_count - scsicmd->request_bufflen); u32 temp = le32_to_cpu(psg->sg[i-1].count) -
(byte_count - scsicmd->request_bufflen);
psg->sg[i-1].count = cpu_to_le32(temp);
byte_count = scsicmd->request_bufflen; byte_count = scsicmd->request_bufflen;
} }
/* Check for command underflow */ /* Check for command underflow */
...@@ -1962,15 +1966,14 @@ static unsigned long aac_build_sg64(struct scsi_cmnd* scsicmd, struct sgmap64* p ...@@ -1962,15 +1966,14 @@ static unsigned long aac_build_sg64(struct scsi_cmnd* scsicmd, struct sgmap64* p
} }
} }
else if(scsicmd->request_bufflen) { else if(scsicmd->request_bufflen) {
dma_addr_t addr; u64 addr;
addr = pci_map_single(dev->pdev, addr = pci_map_single(dev->pdev,
scsicmd->request_buffer, scsicmd->request_buffer,
scsicmd->request_bufflen, scsicmd->request_bufflen,
scsicmd->sc_data_direction); scsicmd->sc_data_direction);
psg->count = cpu_to_le32(1); psg->count = cpu_to_le32(1);
le_addr = cpu_to_le64(addr); psg->sg[0].addr[0] = cpu_to_le32(addr & 0xffffffff);
psg->sg[0].addr[1] = (u32)(le_addr>>32); psg->sg[0].addr[1] = cpu_to_le32(addr >> 32);
psg->sg[0].addr[0] = (u32)(le_addr & 0xffffffff);
psg->sg[0].count = cpu_to_le32(scsicmd->request_bufflen); psg->sg[0].count = cpu_to_le32(scsicmd->request_bufflen);
scsicmd->SCp.dma_handle = addr; scsicmd->SCp.dma_handle = addr;
byte_count = scsicmd->request_bufflen; byte_count = scsicmd->request_bufflen;
......
This diff is collapsed.
...@@ -86,7 +86,7 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg) ...@@ -86,7 +86,7 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
return -EFAULT; return -EFAULT;
} }
if (kfib->header.Command == cpu_to_le32(TakeABreakPt)) { if (kfib->header.Command == cpu_to_le16(TakeABreakPt)) {
aac_adapter_interrupt(dev); aac_adapter_interrupt(dev);
/* /*
* Since we didn't really send a fib, zero out the state to allow * Since we didn't really send a fib, zero out the state to allow
...@@ -94,7 +94,7 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg) ...@@ -94,7 +94,7 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
*/ */
kfib->header.XferState = 0; kfib->header.XferState = 0;
} else { } else {
int retval = fib_send(kfib->header.Command, fibptr, int retval = fib_send(le16_to_cpu(kfib->header.Command), fibptr,
le16_to_cpu(kfib->header.Size) , FsaNormal, le16_to_cpu(kfib->header.Size) , FsaNormal,
1, 1, NULL, NULL); 1, 1, NULL, NULL);
if (retval) { if (retval) {
...@@ -114,7 +114,7 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg) ...@@ -114,7 +114,7 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
* was already included by the adapter.) * was already included by the adapter.)
*/ */
if (copy_to_user(arg, (void *)kfib, kfib->header.Size)) { if (copy_to_user(arg, (void *)kfib, le16_to_cpu(kfib->header.Size))) {
fib_free(fibptr); fib_free(fibptr);
return -EFAULT; return -EFAULT;
} }
...@@ -391,8 +391,8 @@ static int check_revision(struct aac_dev *dev, void __user *arg) ...@@ -391,8 +391,8 @@ static int check_revision(struct aac_dev *dev, void __user *arg)
struct revision response; struct revision response;
response.compat = 1; response.compat = 1;
response.version = dev->adapter_info.kernelrev; response.version = le32_to_cpu(dev->adapter_info.kernelrev);
response.build = dev->adapter_info.kernelbuild; response.build = le32_to_cpu(dev->adapter_info.kernelbuild);
if (copy_to_user(arg, &response, sizeof(response))) if (copy_to_user(arg, &response, sizeof(response)))
return -EFAULT; return -EFAULT;
...@@ -409,8 +409,9 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg) ...@@ -409,8 +409,9 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg)
{ {
struct fib* srbfib; struct fib* srbfib;
int status; int status;
struct aac_srb *srbcmd; struct aac_srb *srbcmd = NULL;
struct aac_srb __user *user_srb = arg; struct user_aac_srb *user_srbcmd = NULL;
struct user_aac_srb __user *user_srb = arg;
struct aac_srb_reply __user *user_reply; struct aac_srb_reply __user *user_reply;
struct aac_srb_reply* reply; struct aac_srb_reply* reply;
u32 fibsize = 0; u32 fibsize = 0;
...@@ -450,7 +451,8 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg) ...@@ -450,7 +451,8 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg)
goto cleanup; goto cleanup;
} }
if(copy_from_user(srbcmd, user_srb,fibsize)){ user_srbcmd = kmalloc(GFP_KERNEL, fibsize);
if(copy_from_user(user_srbcmd, user_srb,fibsize)){
printk(KERN_DEBUG"aacraid: Could not copy srb from user\n"); printk(KERN_DEBUG"aacraid: Could not copy srb from user\n");
rcode = -EFAULT; rcode = -EFAULT;
goto cleanup; goto cleanup;
...@@ -458,18 +460,19 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg) ...@@ -458,18 +460,19 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg)
user_reply = arg+fibsize; user_reply = arg+fibsize;
flags = srbcmd->flags; flags = user_srbcmd->flags; /* from user in cpu order */
// Fix up srb for endian and force some values // Fix up srb for endian and force some values
srbcmd->function = cpu_to_le32(SRBF_ExecuteScsi); // Force this srbcmd->function = cpu_to_le32(SRBF_ExecuteScsi); // Force this
srbcmd->channel = cpu_to_le32(srbcmd->channel); srbcmd->channel = cpu_to_le32(user_srbcmd->channel);
srbcmd->id = cpu_to_le32(srbcmd->id); srbcmd->id = cpu_to_le32(user_srbcmd->id);
srbcmd->lun = cpu_to_le32(srbcmd->lun); srbcmd->lun = cpu_to_le32(user_srbcmd->lun);
srbcmd->flags = cpu_to_le32(srbcmd->flags); srbcmd->flags = cpu_to_le32(user_srbcmd->flags);
srbcmd->timeout = cpu_to_le32(srbcmd->timeout); srbcmd->timeout = cpu_to_le32(user_srbcmd->timeout);
srbcmd->retry_limit =cpu_to_le32(0); // Obsolete parameter srbcmd->retry_limit = 0;
srbcmd->cdb_size = cpu_to_le32(srbcmd->cdb_size); srbcmd->cdb_size = cpu_to_le32(user_srbcmd->cdb_size);
switch (srbcmd->flags & (SRB_DataIn | SRB_DataOut)) { switch (flags & (SRB_DataIn | SRB_DataOut)) {
case SRB_DataOut: case SRB_DataOut:
data_dir = DMA_TO_DEVICE; data_dir = DMA_TO_DEVICE;
break; break;
...@@ -483,60 +486,61 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg) ...@@ -483,60 +486,61 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg)
data_dir = DMA_NONE; data_dir = DMA_NONE;
} }
if (dev->dac_support == 1) { if (dev->dac_support == 1) {
struct sgmap64* psg = (struct sgmap64*)&srbcmd->sg; struct user_sgmap64* upsg = (struct user_sgmap64*)&user_srbcmd->sg;
struct sgmap64* psg = (struct sgmap64*)&user_srbcmd->sg;
byte_count = 0; byte_count = 0;
/* /*
* This should also catch if user used the 32 bit sgmap * This should also catch if user used the 32 bit sgmap
*/ */
actual_fibsize = sizeof(struct aac_srb) - actual_fibsize = sizeof(struct aac_srb) -
sizeof(struct sgentry) + ((srbcmd->sg.count & 0xff) * sizeof(struct sgentry) +
((user_srbcmd->sg.count & 0xff) *
sizeof(struct sgentry64)); sizeof(struct sgentry64));
if(actual_fibsize != fibsize){ // User made a mistake - should not continue if(actual_fibsize != fibsize){ // User made a mistake - should not continue
printk(KERN_DEBUG"aacraid: Bad Size specified in Raw SRB command\n"); printk(KERN_DEBUG"aacraid: Bad Size specified in Raw SRB command\n");
rcode = -EINVAL; rcode = -EINVAL;
goto cleanup; goto cleanup;
} }
if ((data_dir == DMA_NONE) && psg->count) { if ((data_dir == DMA_NONE) && upsg->count) {
printk(KERN_DEBUG"aacraid: SG with no direction specified in Raw SRB command\n"); printk(KERN_DEBUG"aacraid: SG with no direction specified in Raw SRB command\n");
rcode = -EINVAL; rcode = -EINVAL;
goto cleanup; goto cleanup;
} }
for (i = 0; i < psg->count; i++) { for (i = 0; i < upsg->count; i++) {
dma_addr_t addr; u64 addr;
u64 le_addr;
void* p; void* p;
p = kmalloc(psg->sg[i].count,GFP_KERNEL|__GFP_DMA); p = kmalloc(upsg->sg[i].count, GFP_KERNEL|__GFP_DMA);
if(p == 0) { if(p == 0) {
printk(KERN_DEBUG"aacraid: Could not allocate SG buffer - size = %d buffer number %d of %d\n", printk(KERN_DEBUG"aacraid: Could not allocate SG buffer - size = %d buffer number %d of %d\n",
psg->sg[i].count,i,psg->count); upsg->sg[i].count,i,upsg->count);
rcode = -ENOMEM; rcode = -ENOMEM;
goto cleanup; goto cleanup;
} }
sg_user[i] = (void __user *)psg->sg[i].addr; sg_user[i] = (void __user *)upsg->sg[i].addr;
sg_list[i] = p; // save so we can clean up later sg_list[i] = p; // save so we can clean up later
sg_indx = i; sg_indx = i;
if( flags & SRB_DataOut ){ if( flags & SRB_DataOut ){
if(copy_from_user(p,sg_user[i],psg->sg[i].count)){ if(copy_from_user(p,sg_user[i],upsg->sg[i].count)){
printk(KERN_DEBUG"aacraid: Could not copy sg data from user\n"); printk(KERN_DEBUG"aacraid: Could not copy sg data from user\n");
rcode = -EFAULT; rcode = -EFAULT;
goto cleanup; goto cleanup;
} }
} }
addr = pci_map_single(dev->pdev, p, psg->sg[i].count, data_dir); addr = pci_map_single(dev->pdev, p, upsg->sg[i].count, data_dir);
le_addr = cpu_to_le64(addr); psg->sg[i].addr[0] = cpu_to_le32(addr & 0xffffffff);
psg->sg[i].addr[1] = (u32)(le_addr>>32); psg->sg[i].addr[1] = cpu_to_le32(addr >> 32);
psg->sg[i].addr[0] = (u32)(le_addr & 0xffffffff); psg->sg[i].count = cpu_to_le32(upsg->sg[i].count);
psg->sg[i].count = cpu_to_le32(psg->sg[i].count); byte_count += upsg->sg[i].count;
byte_count += psg->sg[i].count;
} }
srbcmd->count = cpu_to_le32(byte_count); srbcmd->count = cpu_to_le32(byte_count);
status = fib_send(ScsiPortCommand64, srbfib, actual_fibsize, FsaNormal, 1, 1,NULL,NULL); status = fib_send(ScsiPortCommand64, srbfib, actual_fibsize, FsaNormal, 1, 1,NULL,NULL);
} else { } else {
struct user_sgmap* upsg = &user_srbcmd->sg;
struct sgmap* psg = &srbcmd->sg; struct sgmap* psg = &srbcmd->sg;
byte_count = 0; byte_count = 0;
...@@ -548,37 +552,39 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg) ...@@ -548,37 +552,39 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg)
rcode = -EINVAL; rcode = -EINVAL;
goto cleanup; goto cleanup;
} }
if ((data_dir == DMA_NONE) && psg->count) { if ((data_dir == DMA_NONE) && upsg->count) {
printk(KERN_DEBUG"aacraid: SG with no direction specified in Raw SRB command\n"); printk(KERN_DEBUG"aacraid: SG with no direction specified in Raw SRB command\n");
rcode = -EINVAL; rcode = -EINVAL;
goto cleanup; goto cleanup;
} }
for (i = 0; i < psg->count; i++) { for (i = 0; i < upsg->count; i++) {
dma_addr_t addr; dma_addr_t addr;
void* p; void* p;
p = kmalloc(psg->sg[i].count,GFP_KERNEL); p = kmalloc(upsg->sg[i].count, GFP_KERNEL);
if(p == 0) { if(p == 0) {
printk(KERN_DEBUG"aacraid: Could not allocate SG buffer - size = %d buffer number %d of %d\n", printk(KERN_DEBUG"aacraid: Could not allocate SG buffer - size = %d buffer number %d of %d\n",
psg->sg[i].count,i,psg->count); upsg->sg[i].count, i, upsg->count);
rcode = -ENOMEM; rcode = -ENOMEM;
goto cleanup; goto cleanup;
} }
sg_user[i] = (void __user *)(psg->sg[i].addr); sg_user[i] = (void __user *)upsg->sg[i].addr;
sg_list[i] = p; // save so we can clean up later sg_list[i] = p; // save so we can clean up later
sg_indx = i; sg_indx = i;
if( flags & SRB_DataOut ){ if( flags & SRB_DataOut ){
if(copy_from_user(p,sg_user[i],psg->sg[i].count)){ if(copy_from_user(p, sg_user[i],
upsg->sg[i].count)) {
printk(KERN_DEBUG"aacraid: Could not copy sg data from user\n"); printk(KERN_DEBUG"aacraid: Could not copy sg data from user\n");
rcode = -EFAULT; rcode = -EFAULT;
goto cleanup; goto cleanup;
} }
} }
addr = pci_map_single(dev->pdev, p, psg->sg[i].count, data_dir); addr = pci_map_single(dev->pdev, p,
upsg->sg[i].count, data_dir);
psg->sg[i].addr = cpu_to_le32(addr); psg->sg[i].addr = cpu_to_le32(addr);
psg->sg[i].count = cpu_to_le32(psg->sg[i].count); psg->sg[i].count = cpu_to_le32(upsg->sg[i].count);
byte_count += psg->sg[i].count; byte_count += upsg->sg[i].count;
} }
srbcmd->count = cpu_to_le32(byte_count); srbcmd->count = cpu_to_le32(byte_count);
status = fib_send(ScsiPortCommand, srbfib, actual_fibsize, FsaNormal, 1, 1, NULL, NULL); status = fib_send(ScsiPortCommand, srbfib, actual_fibsize, FsaNormal, 1, 1, NULL, NULL);
...@@ -609,6 +615,7 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg) ...@@ -609,6 +615,7 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg)
} }
cleanup: cleanup:
kfree(user_srbcmd);
for(i=0; i <= sg_indx; i++){ for(i=0; i <= sg_indx; i++){
kfree(sg_list[i]); kfree(sg_list[i]);
} }
......
...@@ -152,8 +152,8 @@ static void aac_queue_init(struct aac_dev * dev, struct aac_queue * q, u32 *mem, ...@@ -152,8 +152,8 @@ static void aac_queue_init(struct aac_dev * dev, struct aac_queue * q, u32 *mem,
init_waitqueue_head(&q->qfull); init_waitqueue_head(&q->qfull);
spin_lock_init(&q->lockdata); spin_lock_init(&q->lockdata);
q->lock = &q->lockdata; q->lock = &q->lockdata;
q->headers.producer = mem; q->headers.producer = (__le32 *)mem;
q->headers.consumer = mem+1; q->headers.consumer = (__le32 *)(mem+1);
*(q->headers.producer) = cpu_to_le32(qsize); *(q->headers.producer) = cpu_to_le32(qsize);
*(q->headers.consumer) = cpu_to_le32(qsize); *(q->headers.consumer) = cpu_to_le32(qsize);
q->entries = qsize; q->entries = qsize;
......
...@@ -102,7 +102,7 @@ int fib_setup(struct aac_dev * dev) ...@@ -102,7 +102,7 @@ int fib_setup(struct aac_dev * dev)
fibptr->next = fibptr+1; /* Forward chain the fibs */ fibptr->next = fibptr+1; /* Forward chain the fibs */
init_MUTEX_LOCKED(&fibptr->event_wait); init_MUTEX_LOCKED(&fibptr->event_wait);
spin_lock_init(&fibptr->event_lock); spin_lock_init(&fibptr->event_lock);
hw_fib_va->header.XferState = 0xffffffff; hw_fib_va->header.XferState = cpu_to_le32(0xffffffff);
hw_fib_va->header.SenderSize = cpu_to_le16(sizeof(struct hw_fib)); hw_fib_va->header.SenderSize = cpu_to_le16(sizeof(struct hw_fib));
fibptr->hw_fib_pa = hw_fib_pa; fibptr->hw_fib_pa = hw_fib_pa;
hw_fib_va = (struct hw_fib *)((unsigned char *)hw_fib_va + sizeof(struct hw_fib)); hw_fib_va = (struct hw_fib *)((unsigned char *)hw_fib_va + sizeof(struct hw_fib));
...@@ -658,9 +658,8 @@ int fib_adapter_complete(struct fib * fibptr, unsigned short size) ...@@ -658,9 +658,8 @@ int fib_adapter_complete(struct fib * fibptr, unsigned short size)
} }
if (aac_insert_entry(dev, index, AdapHighRespQueue, (nointr & (int)aac_config.irq_mod)) != 0) { if (aac_insert_entry(dev, index, AdapHighRespQueue, (nointr & (int)aac_config.irq_mod)) != 0) {
} }
} } else if (hw_fib->header.XferState &
else if (hw_fib->header.XferState & NormalPriority) cpu_to_le32(NormalPriority)) {
{
u32 index; u32 index;
if (size) { if (size) {
...@@ -832,8 +831,8 @@ int aac_command_thread(struct aac_dev * dev) ...@@ -832,8 +831,8 @@ int aac_command_thread(struct aac_dev * dev)
aifcmd = (struct aac_aifcmd *) hw_fib->data; aifcmd = (struct aac_aifcmd *) hw_fib->data;
if (aifcmd->command == cpu_to_le32(AifCmdDriverNotify)) { if (aifcmd->command == cpu_to_le32(AifCmdDriverNotify)) {
/* Handle Driver Notify Events */ /* Handle Driver Notify Events */
*(u32 *)hw_fib->data = cpu_to_le32(ST_OK); *(__le32 *)hw_fib->data = cpu_to_le32(ST_OK);
fib_adapter_complete(fib, sizeof(u32)); fib_adapter_complete(fib, (u16)sizeof(u32));
} else { } else {
struct list_head *entry; struct list_head *entry;
/* The u32 here is important and intended. We are using /* The u32 here is important and intended. We are using
...@@ -916,7 +915,7 @@ int aac_command_thread(struct aac_dev * dev) ...@@ -916,7 +915,7 @@ int aac_command_thread(struct aac_dev * dev)
/* /*
* Set the status of this FIB * Set the status of this FIB
*/ */
*(u32 *)hw_fib->data = cpu_to_le32(ST_OK); *(__le32 *)hw_fib->data = cpu_to_le32(ST_OK);
fib_adapter_complete(fib, sizeof(u32)); fib_adapter_complete(fib, sizeof(u32));
spin_unlock_irqrestore(&dev->fib_lock, flagv); spin_unlock_irqrestore(&dev->fib_lock, flagv);
} }
......
...@@ -99,7 +99,7 @@ unsigned int aac_response_normal(struct aac_queue * q) ...@@ -99,7 +99,7 @@ unsigned int aac_response_normal(struct aac_queue * q)
/* /*
* Doctor the fib * Doctor the fib
*/ */
*(u32 *)hwfib->data = cpu_to_le32(ST_OK); *(__le32 *)hwfib->data = cpu_to_le32(ST_OK);
hwfib->header.XferState |= cpu_to_le32(AdapterProcessed); hwfib->header.XferState |= cpu_to_le32(AdapterProcessed);
} }
...@@ -107,7 +107,7 @@ unsigned int aac_response_normal(struct aac_queue * q) ...@@ -107,7 +107,7 @@ unsigned int aac_response_normal(struct aac_queue * q)
if (hwfib->header.Command == cpu_to_le16(NuFileSystem)) if (hwfib->header.Command == cpu_to_le16(NuFileSystem))
{ {
u32 *pstatus = (u32 *)hwfib->data; __le32 *pstatus = (__le32 *)hwfib->data;
if (*pstatus & cpu_to_le32(0xffff0000)) if (*pstatus & cpu_to_le32(0xffff0000))
*pstatus = cpu_to_le32(ST_OK); *pstatus = cpu_to_le32(ST_OK);
} }
...@@ -205,7 +205,7 @@ unsigned int aac_command_normal(struct aac_queue *q) ...@@ -205,7 +205,7 @@ unsigned int aac_command_normal(struct aac_queue *q)
/* /*
* Set the status of this FIB * Set the status of this FIB
*/ */
*(u32 *)hw_fib->data = cpu_to_le32(ST_OK); *(__le32 *)hw_fib->data = cpu_to_le32(ST_OK);
fib_adapter_complete(fib, sizeof(u32)); fib_adapter_complete(fib, sizeof(u32));
spin_lock_irqsave(q->lock, flags); spin_lock_irqsave(q->lock, flags);
} }
......
...@@ -288,7 +288,7 @@ static int aac_biosparm(struct scsi_device *sdev, struct block_device *bdev, ...@@ -288,7 +288,7 @@ static int aac_biosparm(struct scsi_device *sdev, struct block_device *bdev,
* translations ( 64/32, 128/32, 255/63 ). * translations ( 64/32, 128/32, 255/63 ).
*/ */
buf = scsi_bios_ptable(bdev); buf = scsi_bios_ptable(bdev);
if(*(unsigned short *)(buf + 0x40) == cpu_to_le16(0xaa55)) { if(*(__le16 *)(buf + 0x40) == cpu_to_le16(0xaa55)) {
struct partition *first = (struct partition * )buf; struct partition *first = (struct partition * )buf;
struct partition *entry = first; struct partition *entry = first;
int saved_cylinders = param->cylinders; int saved_cylinders = param->cylinders;
......
...@@ -288,8 +288,8 @@ static int aac_rkt_check_health(struct aac_dev *dev) ...@@ -288,8 +288,8 @@ static int aac_rkt_check_health(struct aac_dev *dev)
if (status & KERNEL_PANIC) { if (status & KERNEL_PANIC) {
char * buffer; char * buffer;
struct POSTSTATUS { struct POSTSTATUS {
u32 Post_Command; __le32 Post_Command;
u32 Post_Address; __le32 Post_Address;
} * post; } * post;
dma_addr_t paddr, baddr; dma_addr_t paddr, baddr;
int ret; int ret;
......
...@@ -63,7 +63,7 @@ static irqreturn_t aac_rx_intr(int irq, void *dev_id, struct pt_regs *regs) ...@@ -63,7 +63,7 @@ static irqreturn_t aac_rx_intr(int irq, void *dev_id, struct pt_regs *regs)
{ {
bellbits = rx_readl(dev, OutboundDoorbellReg); bellbits = rx_readl(dev, OutboundDoorbellReg);
if (bellbits & DoorBellPrintfReady) { if (bellbits & DoorBellPrintfReady) {
aac_printf(dev, le32_to_cpu(rx_readl (dev, IndexRegs.Mailbox[5]))); aac_printf(dev, rx_readl(dev, IndexRegs.Mailbox[5]));
rx_writel(dev, MUnit.ODR,DoorBellPrintfReady); rx_writel(dev, MUnit.ODR,DoorBellPrintfReady);
rx_writel(dev, InboundDoorbellReg,DoorBellPrintfDone); rx_writel(dev, InboundDoorbellReg,DoorBellPrintfDone);
} }
...@@ -288,8 +288,8 @@ static int aac_rx_check_health(struct aac_dev *dev) ...@@ -288,8 +288,8 @@ static int aac_rx_check_health(struct aac_dev *dev)
if (status & KERNEL_PANIC) { if (status & KERNEL_PANIC) {
char * buffer; char * buffer;
struct POSTSTATUS { struct POSTSTATUS {
u32 Post_Command; __le32 Post_Command;
u32 Post_Address; __le32 Post_Address;
} * post; } * post;
dma_addr_t paddr, baddr; dma_addr_t paddr, baddr;
int ret; int ret;
......
...@@ -230,7 +230,7 @@ static void aac_sa_start_adapter(struct aac_dev *dev) ...@@ -230,7 +230,7 @@ static void aac_sa_start_adapter(struct aac_dev *dev)
* First clear out all interrupts. Then enable the one's that * First clear out all interrupts. Then enable the one's that
* we can handle. * we can handle.
*/ */
sa_writew(dev, SaDbCSR.PRISETIRQMASK, cpu_to_le16(0xffff)); sa_writew(dev, SaDbCSR.PRISETIRQMASK, 0xffff);
sa_writew(dev, SaDbCSR.PRICLEARIRQMASK, (PrintfReady | DOORBELL_1 | DOORBELL_2 | DOORBELL_3 | DOORBELL_4)); sa_writew(dev, SaDbCSR.PRICLEARIRQMASK, (PrintfReady | DOORBELL_1 | DOORBELL_2 | DOORBELL_3 | DOORBELL_4));
/* We can only use a 32 bit address here */ /* We can only use a 32 bit address here */
sa_sync_cmd(dev, INIT_STRUCT_BASE_ADDRESS, (u32)(ulong)dev->init_pa, &ret); sa_sync_cmd(dev, INIT_STRUCT_BASE_ADDRESS, (u32)(ulong)dev->init_pa, &ret);
......
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