Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffdede67 authored by Finn Thain's avatar Finn Thain Committed by Christoph Hellwig
Browse files

mac_scsi: Cleanup PDMA code



Fix whitespace, remove pointless volatile qualifiers and improve code style
by use of INPUT_DATA_REG and OUTPUT_DATA_REG macros.

Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 6e9ae6d5
Loading
Loading
Loading
Loading
+67 −65
Original line number Diff line number Diff line
@@ -86,9 +86,9 @@ module_param(setup_hostid, int, 0);
#define	AFTER_RESET_DELAY	(HZ/2)
#endif

static volatile unsigned char *mac_scsi_regp = NULL;
static volatile unsigned char *mac_scsi_drq  = NULL;
static volatile unsigned char *mac_scsi_nodrq = NULL;
static unsigned char *mac_scsi_regp;
static unsigned char *mac_scsi_drq;
static unsigned char *mac_scsi_nodrq;


/*
@@ -262,6 +262,7 @@ static void mac_scsi_reset_boot(struct Scsi_Host *instance)
}
#endif

#ifdef PSEUDO_DMA
/* 
   Pseudo-DMA: (Ove Edlund)
   The code attempts to catch bus errors that occur if one for example
@@ -331,34 +332,34 @@ __asm__ __volatile__ \
     : "0"(s), "1"(d), "2"(len)				\
     : "d0")


static int macscsi_pread(struct Scsi_Host *instance,
                         unsigned char *dst, int len)
{
	unsigned char *d;
   volatile unsigned char *s;
	unsigned char *s;

	NCR5380_local_declare();
	NCR5380_setup(instance);

   s = mac_scsi_drq+0x60;
	s = mac_scsi_drq + (INPUT_DATA_REG << 4);
	d = dst;

	/* These conditions are derived from MacOS */

   while (!(NCR5380_read(BUS_AND_STATUS_REG) & BASR_DRQ) 
         && !(NCR5380_read(STATUS_REG) & SR_REQ))
	while (!(NCR5380_read(BUS_AND_STATUS_REG) & BASR_DRQ) &&
	       !(NCR5380_read(STATUS_REG) & SR_REQ))
		;
   if (!(NCR5380_read(BUS_AND_STATUS_REG) & BASR_DRQ) 
         && (NCR5380_read(BUS_AND_STATUS_REG) & BASR_PHASE_MATCH)) {
      printk(KERN_ERR "Error in macscsi_pread\n");

	if (!(NCR5380_read(BUS_AND_STATUS_REG) & BASR_DRQ) &&
	    (NCR5380_read(BUS_AND_STATUS_REG) & BASR_PHASE_MATCH)) {
		pr_err("Error in macscsi_pread\n");
		return -1;
	}

	CP_IO_TO_MEM(s, d, len);

	if (len != 0) {
      printk(KERN_NOTICE "Bus error in macscsi_pread\n");
		pr_notice("Bus error in macscsi_pread\n");
		return -1;
	}

@@ -428,35 +429,36 @@ static int macscsi_pwrite (struct Scsi_Host *instance,
                          unsigned char *src, int len)
{
	unsigned char *s;
   volatile unsigned char *d;
	unsigned char *d;

	NCR5380_local_declare();
	NCR5380_setup(instance);

	s = src;
   d = mac_scsi_drq;
	d = mac_scsi_drq + (OUTPUT_DATA_REG << 4);

	/* These conditions are derived from MacOS */

   while (!(NCR5380_read(BUS_AND_STATUS_REG) & BASR_DRQ) 
         && (!(NCR5380_read(STATUS_REG) & SR_REQ) 
            || (NCR5380_read(BUS_AND_STATUS_REG) & BASR_PHASE_MATCH))) 
	while (!(NCR5380_read(BUS_AND_STATUS_REG) & BASR_DRQ) &&
	       (!(NCR5380_read(STATUS_REG) & SR_REQ) ||
	        (NCR5380_read(BUS_AND_STATUS_REG) & BASR_PHASE_MATCH)))
		;

	if (!(NCR5380_read(BUS_AND_STATUS_REG) & BASR_DRQ)) {
      printk(KERN_ERR "Error in macscsi_pwrite\n");
		pr_err("Error in macscsi_pwrite\n");
		return -1;
	}

	CP_MEM_TO_IO(s, d, len);

	if (len != 0) {
      printk(KERN_NOTICE "Bus error in macscsi_pwrite\n");
		pr_notice("Bus error in macscsi_pwrite\n");
		return -1;
	}

	return 0;
}

#endif

#include "NCR5380.c"