Re: [PATCH 3/3] Add disk hotswap support to libata RESEND #2

2005-08-24 Thread Lukasz Kosewski
On 8/24/05, Stefan Richter <[EMAIL PROTECTED]> wrote: > >> Timers appear to operate in an atomic context, so timers should not be > >> allowed to call scsi_remove_device, which eventually schedules. > >> > >> Any suggestions on the best way to fix this? > > > > Workqueue, perhaps. Perhaps. Actual

[PATCH 3/3] Add disk hotswap support to libata RESEND #2

2005-08-01 Thread Lukasz Kosewski
Patch 03: Have sata_promise use the perfect, flawless API from the previous patch As described in the archives, this patch build on patch 02 in the series to actually allow the sata_promise controller to hotswap. Be careful, untested! This version comes with all of Jeff's suggestions (documente

[PATCH 2/3] Add disk hotswap support to libata RESEND #2

2005-08-01 Thread Lukasz Kosewski
Patch 02: Add a hotswap infrastructure to libata As described in the archives, this patch adds a framework and API to libata to allow for hotswapping. This version comes with a debounce timer... exciting! Luke Kosewski 01.08.05 Luke Kosewski <[EMAIL PROTECTED]> * A patch to add a general-pu

[PATCH 1/3] Add disk hotswap support to libata RESEND #2

2005-08-01 Thread Lukasz Kosewski
Patch 01: add promise SATAII150 support to the sata_promise driver. As described in the archives, this patch adds support for those notorious SATAII150 controllers with their weird hotplug offset and prepares us for hotplug goodness. Jeff: The reason that ATA_FLAG_SATA is commented out on pdc_2

[PATCH 0/3] Add disk hotswap support to libata RESEND #2

2005-08-01 Thread Lukasz Kosewski
Hey Jeff, all, The following is my latest attempt at re-doing the hotswap patches for libata hotswapping. This has some positive upsides: - The patches seem cleaner - The patches seem more multi-purpose and adaptable for use across all controllers, not just the Promise ones. - Jeff is more likel

Re: [PATCH 3/3 RESEND] Add disk hotswap support to libata

2005-07-31 Thread Lukasz Kosewski
On 7/26/05, Jeff Garzik <[EMAIL PROTECTED]> wrote: > > +static void pdc2_phy_reset(struct ata_port *ap) > > +{ > > + /* As observed on the Promise SATAII150 Tx2 Plus/Tx4, giving the > > + * controller a hard reset triggers another hotplug interrupt. So > > + * disable them for the ha

Re: [PATCH 0/3] Add disk hotswap support to libata

2005-07-22 Thread Lukasz Kosewski
On 7/21/05, Jeff Garzik <[EMAIL PROTECTED]> wrote: > > Pretty cool stuff! > > As soon as I finish SATA ATAPI (this week[end]), I'll take a look at > this. A quick review of the patches didn't turn up anything terribly > objectionable, though :) Excellent! Thanks for the quick turnaround! > P.

[PATCH 3/3 RESEND] Add disk hotswap support to libata

2005-07-22 Thread Lukasz Kosewski
Hey Jeff, everyone. This is a resend of patch 3 of my libata hotswap series, wherein I found a silly flaw in my logic. I don't know what kind of crack I was smoking, but I somehow turned "a = a & ~b" in the Promise driver into "a = a ^ b" in my hotswap code, which is clearly wrong. I don't know

Re: [PATCH 0/3] Add disk hotswap support to libata

2005-07-21 Thread Lukasz Kosewski
Michael Tokarev wrote: echo -n 1 > /sys/.../hostA/targetA:B:C/A:B:C:D/delete still works. I think. And (again, I think) this same problem exists with 2.6.11 as well. At least, I wasn't able to remove-single-device even once (I discovered this mechanism only recently, haven't tried it with other

[PATCH 2/3] Add disk hotswap support to libata

2005-07-21 Thread Lukasz Kosewski
This patch is probably the most contentious one; adding a hotswap framework to libata to allow it to handle disk plugs/unplugs. The design goals for this framework were as follows: - easy, stable API. - simplicity of design and code - as damn near as we can get to a guarantee that we will NOT pa

[PATCH 3/3] Add disk hotswap support to libata

2005-07-21 Thread Lukasz Kosewski
This patch is an implementation of hotswap on the sata_promise module, tested on SATA150 and SATAII150 Promise controllers. It depends on patch 01 from this series of patches to apply, and both 01 and 02 in order to compile. We handle hotplug interrupts and call our new API functions in libat

[PATCH 1/3] Add disk hotswap support to libata

2005-07-21 Thread Lukasz Kosewski
This patch changes the sata_promise driver in libata to correctly mask out hotplug interrupts. The location of the primary hotplug registers in the SATA150 Tx4/Tx2 Plus controllers is correctly defined as '0x6C', HOWEVER, for the SATAII150 Tx4/Tx2 Plus controllers, this changes to '0x60'. Thi

[PATCH 0/3] Add disk hotswap support to libata

2005-07-21 Thread Lukasz Kosewski
Hey all, introductory blurb here. This sequence of patches will add a framework to libata to allow for hot-swapping disks in and out. There are three patches: 01-promise_sataII150_support 02-libata_hotswap_infrastructure 03-promise_hotswap_support The rationale for each will be described in f

SCSI layer a stumbling block for true SATA hotplug

2005-07-16 Thread Lukasz Kosewski
Hello all, I'm currently working on a project to get a true disk-hotplug subsystem working in libata, experimenting with Promise SATA150 Tx2 Plus and SATAII150 Tx2 Plus controllers. I am very near a 'beta' release of my patches to this mailing list, however, I have hit a stumbling block in t