Subject: Fix for sync negotiation
To: None <amiga-dev@sun-lamp.cs.berkeley.edu>
From: Eduardo E. Horvath eeh@btr.com <eeh@btr.btr.com>
List: amiga-dev
Date: 07/30/1994 11:06:27
Here's a little patch that should fix problems with sync negotiation on
33c93 controllers.  If anybody has some drives that need sync and some
that can't handle it, or have drives that only worked with inhibit_sync
set and want some extra speed from synchronous transfers, try this out.

=========================================================================
Eduardo Horvath				eeh@btr.com
					..!{decwrl,mips,fernwood}!btr!eeh
	"Trust me, I am cognizant of what I am doing." - Hammeroid

*** 1.2	1994/07/30 10:02:55
--- sys/arch/amiga/dev/sbic.c	1994/07/30 10:01:02
***************
*** 111,117 ****
   * was broken before.. now if you want this you get it for all drives
   * on sbic controllers.
   */
! int sbic_inhibit_sync = 1;
  int sbic_clock_override = 0;
  int sbic_no_dma = 0;
  
--- 111,117 ----
   * was broken before.. now if you want this you get it for all drives
   * on sbic controllers.
   */
! int sbic_inhibit_sync = 0;
  int sbic_clock_override = 0;
  int sbic_no_dma = 0;
  
***************
*** 923,929 ****
  			SET_SBIC_cmd(regs, SBIC_CMD_CLR_ACK);
  			WAIT_CIP(regs);
  			phase = CMD_PHASE;  /* or whatever */
! 		} else if (dev->sc_msg[0] == MSG_CMD_COMPLETE) {
  			/* !! KLUDGE ALERT !! quite a few drives don't seem to 
  			 * really like the current way of sending the
  			 * sync-handshake together with the ident-message, and 
--- 923,930 ----
  			SET_SBIC_cmd(regs, SBIC_CMD_CLR_ACK);
  			WAIT_CIP(regs);
  			phase = CMD_PHASE;  /* or whatever */
! 		} else if (   dev->sc_msg[0] == MSG_CMD_COMPLETE
! 			   || dev->sc_msg[0] == 0xff ) {
  			/* !! KLUDGE ALERT !! quite a few drives don't seem to 
  			 * really like the current way of sending the
  			 * sync-handshake together with the ident-message, and 

------------------------------------------------------------------------------