Writing PMP GSCRs at runtime

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

 



I've got an eSATA disk enclosure behind a SATA PMP, which uses a
SiI3826 chip.  This particular enclosure exposes control of some LEDs
and fan speed via the SiI3826 GPIO GSCR [130].

I tried bringing out a sysfs file to read/write GSCRs at runtime using
sata_pmp_write().  This generally works well when the enclosure is
idle.  But if I put the PMP under load (say, creating a MD RAID array
across all the disks and start a resync), every time I read or write a
GSCR, I get an "illegal qc_active transition" message and the PMP
resets.  This occurs at or near 100% of the time.

So then I cobbled together a new function similar to sata_pmp_write(),
but based on the old ahci_pmp_write() function that did polling using
ahci_exec_polled_cmd().  Using this method reduced the odds of causing
a PMP reset from ~100% to ~3%.  But occasionally I still do see
resets.

Does anyone have any ideas on what's going on here, or how to resolve this?

Thanks,
-Justin
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux