Re: [PATCH] WD33C93: let platform stub override no_sync/fast/dma_mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi Thomas,

the code-sequence

	wd33c93_init(...
	if (hdata->wh.no_sync == 0xff)
		hdata->wh.no_sync = 0;

was put/kept there intentionally - in this very order - to enable
"nosync" from the command-line!

	Date: Mon, 12 Feb 2007 15:27:17 +0100 (CET)
	From: peter fuerst <post@xxxxxxxx>
	To: James.Bottomley@xxxxxxxxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx
	Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>, Kumba <kumba@xxxxxxxxxx>,
	     Thiemo Seufer <ths@xxxxxxxxxxxx>, Tim Yamin <plasmaroo@xxxxxxxxxx>
	Subject: [PATCH][SCSI] sgiwd93.c: interfacing to wd33c93

	1) sgiwd93 used to switch off asynchronous mode on the wd33c93, discarding
	   any "nosync"-requests from the commandline.
	   But we need to allow "nosync"-requests for selected devices, for example
	   the Pioneer DVD305S.
	   (For the curious: this device accepts the SDTR from wd33c93 and success-
	   fully sends inquiry data in sync mode, but after the data phase in the
	   inquiry command does an unexpected disconnect, seemingly sending no
	   "status" or "command complete". Forcing async transfers makes it work
	   together flawlessly with the wd33c93. Of course, preferable would be, to
	   implement wd33c93's "resume command" stuff, but that probably will not
	   come soon.)
	2) ...
	...

	========================================================================
	--- dc7bdc97927ea1c519f0d8bd3133739600c841d4/drivers/scsi/sgiwd93.c	Sat Oct  7 00:00:00 2006
	+++ new/drivers/scsi/sgiwd93.c	Sun Feb 11 22:10:06 2007
	@@ -250,3 +250,3 @@

	-	hdata->wh.no_sync = 0;
	+	if (0xff == hdata->wh.no_sync) hdata->wh.no_sync = 0;

	========================================================================
	...

On Fri, 21 Mar 2008, Thomas Bogendoerfer wrote:

> Date: Fri, 21 Mar 2008 22:25:43 +0100 (CET)
> From: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
> To: linux-scsi@xxxxxxxxxxxxxxx, linux-mips@xxxxxxxxxxxxxx
> Cc: ralf@xxxxxxxxxxxxxx, James.Bottomley@xxxxxxxxxxxxxxxxxxxxx
> Subject: [PATCH] WD33C93: let platform stub override no_sync/fast/dma_mode
>
> SGI machines with WD33C93 allow usage of burst mode DMA, which increases
> performance noticable. To make this selectable by the sgiwd93 stub,
> setting the values for no_sync, fast and dma_mode has been moved to the
> individual platform stubs.
>
> Signed-off-by: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
> ---
>
> Please apply for 2.6.26
>
> ...
> diff --git a/drivers/scsi/sgiwd93.c b/drivers/scsi/sgiwd93.c
> index 26cfc56..03e3596 100644
> --- a/drivers/scsi/sgiwd93.c
> +++ b/drivers/scsi/sgiwd93.c
> @@ -263,10 +263,11 @@ static int __init sgiwd93_probe(struct platform_device *pdev)
>  	regs.SASR = wdregs + 3;
>  	regs.SCMD = wdregs + 7;
>
> -	wd33c93_init(host, regs, dma_setup, dma_stop, WD33C93_FS_MHZ(20));
> +	hdata->wh.no_sync = 0;
> +	hdata->wh.fast = 1;
> +	hdata->wh.dma_mode = CTRL_BURST;
>
> -	if (hdata->wh.no_sync == 0xff)
> -		hdata->wh.no_sync = 0;
> +	wd33c93_init(host, regs, dma_setup, dma_stop, WD33C93_FS_MHZ(20));
>
>  	err = request_irq(irq, sgiwd93_intr, 0, "SGI WD93", host);
>  	if (err) {
> ...


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux