Re: [PATCH 1/4] ide: fix sparse warning about shadowing 'flags' symbol
Bartlomiej Zolnierkiewicz wrote: drivers/ide/ide.c:801:18: warning: symbol 'flags' shadows an earlier one drivers/ide/ide.c:732:16: originally declared here Also fix some whitespace damage while at it. Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] Acked-by: Sergei Shtylyov [EMAIL PROTECTED] MBR, Sergei - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Maxtor 7V300F0 on sil3114 VS Maxtor Atlas 15K2 on adaptec29160 strangeness
SUMMARY: iff the Atlas 15K II (on adaptec29160) is also connected to the system, the MaXLine Plus III (on sil3114) doesn't work properly or maybe even at all. HARDWARE: Tyan Thunder K8W (S2885) 2x Opteron 254 2x2x 512MB (=2GB) Crucial DDR333 ECC RAM Seasonic modular 700W PSU onboard sil3114 w/ Maxtor MaXLine Plus III 300GB SATA2 (7V300F0) Adaptec 29160 w/ Maxtor Atlas 15K II 74GB 68pin LVD SCSI and Plextor PX-40TS (originally 2 WD RE2 500 GB SATA2 and a WD Raptor 74 were also connected to the sil3114, but I've removed them for testing) All components have been working nicely with Linux before, just not in this particular combination. PROBLEM: First manifestation was dban-1.07 failing to wipe the Maxline. The wipe speed would start at ~ 60-7KB/s, then drop off to half within a few seconds and to four digits in under 90 seconds. After crawling on for a few more minutes dban would fail, with the logged dmesg being full of parity errors. Apparently that dban version uses 2.4.33. I thought maybe a newer kernel would help and tried dban-beta.2007042900_i386, which is the newest version and uses 2.6.20.7. That version fails immediately after starting the wipe - I couldn't see why, in the log, but it's embedded in not-too-readable-in-a-text-editor XML now, so maybe I missed it. So maybe it's the hardware, right? - ran the manufacturer's diagnostic on the Maxline using the box it had worked in before. No errors, normal speed. - put it back in the problem box and exchanged all SATA cables for new ones. Doesn't work. - removed the other SATA drives. Doesn't help - tried it on the three other SATA connectors in turn. No change - disconnected the Atlas 15K2. Suddenly the Maxline works. - suspecting a resource conflict I rotated the Adaptec through all PCI slots. No change. Works only as long as the Atlas isn't connected. - changing the PCI scan order in the BIOS works but I'm afraid that'll just mask the problem. All other disks are fine in any config, it's just the Maxline that acts up and only when the SCSI disk is also connected. I've not gotten an actual linux (Debian) install to fail on the box yet, even with both disks connected, but dban is usually a good hardware test for the disk subsystem, so I'm worried. This box is sopposed to become a nearline backups repository and data integrity (within a hobby budget :( ) is top priority. Is there any incompatibility known between the Maxtor 7V300F0 and the sil3114 and if yes, why does it take a SCSI disk to trigger it? Suggestions welcome. I could: - sell the MaxLine and hope that it was the culprit - disable the onboard sil3114 and buy a PCI card. Only the Promise SATA300 TX4 is available though and that doesn't seem too hot, either. - or both If you'd like any logs etc just say so. (I'm away from the box for the next ~60 hours, though.) Regards, Chris - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 4/5] ide-generic: use ide_find_port()
Bartlomiej Zolnierkiewicz wrote: There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] Acked-by: Sergei Shtylyov [EMAIL PROTECTED] Index: b/drivers/ide/ide-generic.c === --- a/drivers/ide/ide-generic.c +++ b/drivers/ide/ide-generic.c @@ -90,18 +90,27 @@ static int __init ide_generic_init(void) int i; for (i = 0; i MAX_HWIFS; i++) { - ide_hwif_t *hwif = ide_hwifs[i]; + ide_hwif_t *hwif; unsigned long io_addr = ide_default_io_base(i); hw_regs_t hw; - if (hwif-chipset == ide_unknown io_addr) { - u8 oldnoprobe = hwif-noprobe; + if (io_addr) { + u8 oldnoprobe; + + /* +* Skip probing if the corresponding +* slot entry is already occupied. IMHO, it's either slot or entry, else it sounds superfluous. :-) MBR, Sergei - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 4/4] ide-disk: fix issues found by checkpatch.pl
Bartlomiej Zolnierkiewicz wrote: There are no changes to the resulting drivers/ide/ide-disk.o binary file (md5sum-s after and before the patch match). Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] Acked-by: Sergei Shtylyov [EMAIL PROTECTED] MBR, Sergei - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 03/12] ide: add ide-4drives host driver
Bartlomiej Zolnierkiewicz wrote: CONFIG_BLK_DEV_4DRIVES deserves its own host driver: * Add drivers/ide/legacy/ide-4drives.c and move 4drives support there. * Add ide-4drives.o in the link order after all other legacy host drivers enabled by ide0= options (they all are mutually exclusive). * Make ide-4drives host driver probe itself for IDE devices instead of indirectly depending on ide_generic host driver. * Add probe module parameter to ide-4drives and update documentation. Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] Index: b/drivers/ide/Kconfig === --- a/drivers/ide/Kconfig +++ b/drivers/ide/Kconfig @@ -1042,8 +1042,8 @@ config BLK_DEV_4DRIVES Certain older chipsets, including the Tekram 690CD, use a single set of I/O ports at 0x1f0 to control up to four drives, instead of the customary two drives per port. Support for this can be enabled at - runtime using the ide0=four kernel boot parameter if you say Y - here. + runtime using the ide_4drives.probe kernel boot parameter if you Not ide-4drives.probe? Looks correct otherwise. MBR, Sergei - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] ide-cd: remove the internal 64k buffer
Hi Bart, here's one more item from my TODO list. The removal is straight forward, after testing it with all my cdrom drives they all seem even to rotate quieter due to the automatic speed adjustment of the drive to the continuous data stream bandwidth in contrast to the buffer-mode in which recurring buffer-fill speedups caused the drive's read speeed to spike in order to keep the buffer filled up constantly. Still, i'd keep this a bit longer in -mm to see whether there are some other issues with it and with all the different workloads. commit a855bd5d94ddac678cf90b4b8f20dbd3ac8ea29a Author: Borislav Petkov [EMAIL PROTECTED] Date: Tue Feb 19 14:25:09 2008 +0100 ide-cd: remove the internal 64k buffer This removes the internal ide-cd buffer and falls back to read-ahead block layer capabilities. Thorough testing (cd burning, dvd read, raw read) gives with the bufferless mode marginally better performance in addition to simplified code. bufferless: dd: reading `/dev/hdc': Input/output error 6238+0 records in 6238+0 records out 204406784 bytes (204 MB) copied, 259.891 s, 787 kB/s real4m21.598s user0m0.014s sys 0m0.744s with the old buffer (2.6.25-rc1): dd: reading `/dev/hdc': Input/output error 6238+0 records in 6238+0 records out 204406784 bytes (204 MB) copied, 262.893 s, 778 kB/s real4m22.938s user0m0.009s sys 0m0.771s Signed-off-by: Borislav Petkov [EMAIL PROTECTED] diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c index b21da31..f1cb85c 100644 --- a/drivers/ide/ide-cd.c +++ b/drivers/ide/ide-cd.c @@ -89,7 +89,6 @@ static void cdrom_saw_media_change (ide_drive_t *drive) cd-cd_flags |= IDE_CD_FLAG_MEDIA_CHANGED; cd-cd_flags = ~IDE_CD_FLAG_TOC_VALID; - cd-nsectors_buffered = 0; } static int cdrom_log_sense(ide_drive_t *drive, struct request *rq, @@ -626,47 +625,6 @@ static void ide_cd_drain_data(ide_drive_t *drive, int nsects) } /* - * Buffer up to SECTORS_TO_TRANSFER sectors from the drive in our sector - * buffer. Once the first sector is added, any subsequent sectors are - * assumed to be continuous (until the buffer is cleared). For the first - * sector added, SECTOR is its sector number. (SECTOR is then ignored until - * the buffer is cleared.) - */ -static void cdrom_buffer_sectors (ide_drive_t *drive, unsigned long sector, - int sectors_to_transfer) -{ - struct cdrom_info *info = drive-driver_data; - - /* Number of sectors to read into the buffer. */ - int sectors_to_buffer = min_t(int, sectors_to_transfer, -(SECTOR_BUFFER_SIZE SECTOR_BITS) - - info-nsectors_buffered); - - char *dest; - - /* If we couldn't get a buffer, don't try to buffer anything... */ - if (info-buffer == NULL) - sectors_to_buffer = 0; - - /* If this is the first sector in the buffer, remember its number. */ - if (info-nsectors_buffered == 0) - info-sector_buffered = sector; - - /* Read the data into the buffer. */ - dest = info-buffer + info-nsectors_buffered * SECTOR_SIZE; - while (sectors_to_buffer 0) { - HWIF(drive)-atapi_input_bytes(drive, dest, SECTOR_SIZE); - --sectors_to_buffer; - --sectors_to_transfer; - ++info-nsectors_buffered; - dest += SECTOR_SIZE; - } - - /* Throw away any remaining data. */ - ide_cd_drain_data(drive, sectors_to_transfer); -} - -/* * Check the contents of the interrupt reason register from the cdrom * and attempt to recover if there are problems. Returns 0 if everything's * ok; nonzero if the request has been terminated. @@ -731,65 +689,6 @@ static int ide_cd_check_transfer_size(ide_drive_t *drive, int len) return 1; } -/* - * Try to satisfy some of the current read request from our cached data. - * Returns nonzero if the request has been completed, zero otherwise. - */ -static int cdrom_read_from_buffer (ide_drive_t *drive) -{ - struct cdrom_info *info = drive-driver_data; - struct request *rq = HWGROUP(drive)-rq; - unsigned short sectors_per_frame; - - sectors_per_frame = queue_hardsect_size(drive-queue) SECTOR_BITS; - - /* Can't do anything if there's no buffer. */ - if (info-buffer == NULL) return 0; - - /* Loop while this request needs data and the next block is present - in our cache. */ - while (rq-nr_sectors 0 - rq-sector = info-sector_buffered - rq-sector info-sector_buffered + info-nsectors_buffered) { - if (rq-current_nr_sectors == 0) - cdrom_end_request(drive, 1); - - memcpy (rq-buffer, - info-buffer + -
Re: ide=reverse do we still need this?
On Wed, Feb 13, 2008 at 03:32:49PM +, Ken Moffat wrote: On Tue, Feb 12, 2008 at 08:43:04PM -0800, Greg KH wrote: Can't you just boot with /dev/disk/by-id/ and an initramfs to not have to worry about such a thing in the future? Initramfs isn't something I've ever tried, so I'm not about to rush into it on the server. Maybe I'll try it on a desktop one day. Anyway, I've now got it running without ide=reverse, details follow for anybody else who gets a similar problem in the future. Can comebody remind me what the initramfs is for in that situation, please ? From the little I've noticed, I thought the /dev/disk/by-id part went into fstab ? At the moment, I just build the things I think I need in to the kernel on that box, without modules. And for the next person asking this, it seems to be so that you can specify the root= parameter. Anyway, I'll try to find time to read my notes to see if I can identify what happened/when, and to take the box down again so I can try to confirm exactly what the problem is, if it still exists. I certainly won't be taking it down until I've written my weekly backups to tape at the weekend, so maybe not before next week. Turns out I was wrong about having a SATA disk for the system - I used to, but then I needed to separate the backups into separate r/o and r/w filesystems when nfs no longer let me export part of a ro fs as rw. In the change, my staging area for writing to tape or DVD moved to the system disk, and the only big-enough disk I could get locally was parallel ide. So in that setup, ide on a card comes first. Have you tried the PATA drivers instead of IDE to see if this solves the moves around issue? If they work, then you would not need the command line option at all. My first thought was to try using libata for the drives on the add-on card (sii0680), although it's marked as experimental. Maybe I picked the wrong driver, but they didn't show up. Reverted to previous config. Changed to mount-by-label so that I don't have to change fstab for the old and new kernels. Moved the main drive and the CD to libata (sii still old IDE) - specify sda instead of hda in root=, change system scripts referencing drives by name (for SMART - system disk is again -d ata, the data raid moved from hd{e,g} to hd{a,c}), now seems to be working but I expect I'll notice a few things more in my scripts over the next days. I also discovered that lilo needed the real node specified in root= to exist. It complained, so I added a symlink to the hdaX node - panic'd trying to load rootfs from 0307. Reboot to old kernel, run mknod on /dev, repeat, booted. Ken -- das eine Mal als Tragödie, das andere Mal als Farce - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: sata_sil24 stability and performance
Jim Paris wrote: .. As you may have noticed on this list, power supplies are very frequently a problem. .. Actually, no, I haven't noticed that. :) I do see them more frequently being suggested as a possible problem, and then after some time and expense on the part of the reporters it nearly always turns out to have been a device driver bug, or (less often) a firmware quirk of the device. Yes, PSUs are often suggested as a problem here, but only rarely has that been true. Especially nowadays, as PSUs are becoming much larger than they historically once were. Cheers (been around here since 1993 or so) - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Problem with ahci and a external sata disk
When I try to make a ext3 fs in the disk I got a lot of erros: Disk: Feb 18 22:10:44 jar kernel: ata4: irq_stat 0x0240, PHY RDY changed Feb 18 22:10:44 jar kernel: ata4: hard resetting link Feb 18 22:10:56 jar kernel: ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300) Feb 18 22:10:56 jar kernel: ata4.00: ATA-6: Seagate FreeAgent Pro, 3.AFM, max UDMA/133 Feb 18 22:10:56 jar kernel: ata4.00: 1465149168 sectors, multi 0: LBA48 Feb 18 22:10:56 jar kernel: ata4.00: configured for UDMA/133 Feb 18 22:10:56 jar kernel: ata4: EH complete Feb 18 22:10:56 jar kernel: scsi 3:0:0:0: Direct-Access ATA Seagate FreeAgen 3.AF PQ: 0 ANSI: 5 Feb 18 22:10:56 jar kernel: sd 3:0:0:0: [sdd] 1465149168 512-byte hardware sectors (750156 MB) Feb 18 22:10:56 jar kernel: sd 3:0:0:0: [sdd] Write Protect is off Feb 18 22:10:56 jar kernel: sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Feb 18 22:10:56 jar kernel: sd 3:0:0:0: [sdd] 1465149168 512-byte hardware sectors (750156 MB) Feb 18 22:10:56 jar kernel: sd 3:0:0:0: [sdd] Write Protect is off Feb 18 22:10:56 jar kernel: sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Feb 18 22:10:56 jar kernel: sdd: sdd1 Feb 18 22:10:56 jar kernel: sd 3:0:0:0: [sdd] Attached SCSI disk Feb 18 22:10:56 jar kernel: sd 3:0:0:0: Attached scsi generic sg4 type 0 Errors: Feb 18 22:12:48 jar kernel: ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 Feb 18 22:12:48 jar kernel: ata4.00: irq_stat 0x4001 Feb 18 22:12:48 jar kernel: ata4.00: cmd ca/00:00:65:2d:00/00:00:00:00:00/e0 tag 0 dma 131072 out Feb 18 22:12:48 jar kernel: res 51/84:00:64:2e:00/00:00:00:00:00/e0 Emask 0x10 (ATA bus error) Feb 18 22:12:48 jar kernel: ata4.00: status: { DRDY ERR } Feb 18 22:12:48 jar kernel: ata4.00: error: { ICRC ABRT } Feb 18 22:12:48 jar kernel: ata4: hard resetting link Feb 18 22:12:48 jar kernel: ata4.00: configured for UDMA/133Feb 18 22:12:48 jar kernel: ata4: EH complete Feb 18 22:12:48 jar kernel: sd 3:0:0:0: [sdd] 1465149168 512-byte hardware sectors (750156 MB) Feb 18 22:12:48 jar kernel: sd 3:0:0:0: [sdd] Write Protect is off Feb 18 22:12:48 jar kernel: sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Feb 18 22:12:49 jar kernel: ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 Feb 18 22:12:49 jar kernel: ata4.00: irq_stat 0x4001 Feb 18 22:12:49 jar kernel: ata4.00: cmd ca/00:00:4f:06:28/00:00:00:00:00/e0 tag 0 dma 131072 out Feb 18 22:12:49 jar kernel: res 51/84:00:4e:07:28/00:00:00:00:00/e0 Emask 0x10 (ATA bus error) Feb 18 22:12:49 jar kernel: ata4.00: status: { DRDY ERR } Feb 18 22:12:49 jar kernel: ata4.00: error: { ICRC ABRT } Feb 18 22:12:49 jar kernel: ata4: hard resetting link Feb 18 22:12:49 jar kernel: ata4.00: configured for UDMA/133 Feb 18 22:12:49 jar kernel: ata4: EH complete Feb 18 22:12:49 jar kernel: sd 3:0:0:0: [sdd] 1465149168 512-byte hardware sectors (750156 MB) Feb 18 22:12:49 jar kernel: sd 3:0:0:0: [sdd] Write Protect is off Feb 18 22:12:49 jar kernel: sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Feb 18 22:12:50 jar kernel: ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 actio n 0x2 Feb 18 22:12:50 jar kernel: ata4.00: irq_stat 0x4001 Feb 18 22:12:50 jar kernel: ata4.00: cmd ca/00:00:4f:08:60/00:00:00:00:00/e0 tag 0 dma 131072 out Feb 18 22:12:50 jar kernel: res 51/84:00:4e:09:60/00:00:00:00:00/e0 Emask 0x10 (ATA bus error) Feb 18 22:12:50 jar kernel: ata4.00: status: { DRDY ERR } Feb 18 22:12:50 jar kernel: ata4.00: error: { ICRC ABRT } Feb 18 22:12:50 jar kernel: ata4: hard resetting link Jose Alberto - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] enclosure: add support for enclosure services
On Wed 2008-02-13 09:45:02, Kristen Carlson Accardi wrote: On Tue, 12 Feb 2008 13:28:15 -0600 James Bottomley [EMAIL PROTECTED] wrote: On Tue, 2008-02-12 at 11:07 -0800, Kristen Carlson Accardi wrote: I understand what you are trying to do - I guess I just doubt the value you've added by doing this. I think that there's going to be so much customization that system vendors will want to add, that they are going to wind up adding a custom library regardless, so standardising those few things won't buy us anything. It depends ... if you actually have a use for the customisations, yes. If you just want the basics of who (what's in the enclousure), what (activity) and where (locate) then I think it solves your problem almost entirely. So, entirely as a straw horse, tell me what else your enclosures provide that I haven't listed in the four points. The SES standards too provide a huge range of things that no-one ever seems to implement (temperature, power, fan speeds etc). I think the users of enclosures fall int these categories 85% just want to know where their device actually is (i.e. that sdc is in enclosure slot 5) 50% like watching the activity lights 30% want to be able to have a visual locate function 20% want a visual failure indication (the other 80% rely on some OS notification instead) When you add up the overlapping needs, you get about 90% of people happy with the basics that the enclosure services provide. Could there be more ... sure; should there be more ... I don't think so ... that's what value add the user libraries can provide. James I don't think I'm arguing whether or not your solution may work, what I am arguing is really a more philosophical point. Not can we do it this way, but should we do it way. I am of the opinion that Hw abstraction is still kernel's job. That's why we have leds exported in sysfs... let vendors have their libraries, but lets put the 'everyone does these' stuff in kernel. -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] libata: fix kernel-doc parameter warning
From: Randy Dunlap [EMAIL PROTECTED] Fix libata kernel-doc parameter: Warning(linux-2.6.25-rc2-git3//drivers/ata/libata-scsi.c:845): No description found for parameter 'rq' Signed-off-by: Randy Dunlap [EMAIL PROTECTED] --- drivers/ata/libata-scsi.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- linux-2.6.25-rc2-git3.orig/drivers/ata/libata-scsi.c +++ linux-2.6.25-rc2-git3/drivers/ata/libata-scsi.c @@ -828,7 +828,7 @@ static void ata_scsi_sdev_config(struct /** * atapi_drain_needed - Check whether data transfer may overflow - * @request: request to be checked + * @rq: request to be checked * * ATAPI commands which transfer variable length data to host * might overflow due to application error or hardare bug. This - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Optiarc DVD RW AD-5200A audio playing
On Tuesday 19 February 2008, Borislav Petkov wrote: [...] Author: Borislav Petkov [EMAIL PROTECTED] Date: Sat Feb 16 09:56:36 2008 +0100 ide-cd: Enable audio play quirk for Optiarc DVD RW AD-5200A drive Reported-by: Stefan Bader [EMAIL PROTECTED] Signed-off-by: Borislav Petkov [EMAIL PROTECTED] applied - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ide-cd: remove the internal 64k buffer
Hi, On Tuesday 19 February 2008, Borislav Petkov wrote: Hi Bart, here's one more item from my TODO list. The removal is straight forward, after testing it with all my cdrom drives they all seem even to rotate quieter due to the automatic speed adjustment of the drive to the continuous data stream bandwidth in contrast to the buffer-mode in which recurring buffer-fill speedups caused the drive's read speeed to spike in order to keep the buffer filled up constantly. Still, i'd keep this a bit longer in -mm to see whether there are some other issues with it and with all the different workloads. commit a855bd5d94ddac678cf90b4b8f20dbd3ac8ea29a Author: Borislav Petkov [EMAIL PROTECTED] Date: Tue Feb 19 14:25:09 2008 +0100 ide-cd: remove the internal 64k buffer This removes the internal ide-cd buffer and falls back to read-ahead block layer capabilities. Thorough testing (cd burning, dvd read, raw read) gives with the bufferless mode marginally better performance in addition to simplified code. bufferless: dd: reading `/dev/hdc': Input/output error 6238+0 records in 6238+0 records out 204406784 bytes (204 MB) copied, 259.891 s, 787 kB/s real4m21.598s user0m0.014s sys 0m0.744s with the old buffer (2.6.25-rc1): dd: reading `/dev/hdc': Input/output error 6238+0 records in 6238+0 records out 204406784 bytes (204 MB) copied, 262.893 s, 778 kB/s real4m22.938s user0m0.009s sys 0m0.771s Signed-off-by: Borislav Petkov [EMAIL PROTECTED] applied, thanks - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 4/5] ide-generic: use ide_find_port()
On Tuesday 19 February 2008, Sergei Shtylyov wrote: Bartlomiej Zolnierkiewicz wrote: There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] Acked-by: Sergei Shtylyov [EMAIL PROTECTED] Index: b/drivers/ide/ide-generic.c === --- a/drivers/ide/ide-generic.c +++ b/drivers/ide/ide-generic.c @@ -90,18 +90,27 @@ static int __init ide_generic_init(void) int i; for (i = 0; i MAX_HWIFS; i++) { - ide_hwif_t *hwif = ide_hwifs[i]; + ide_hwif_t *hwif; unsigned long io_addr = ide_default_io_base(i); hw_regs_t hw; - if (hwif-chipset == ide_unknown io_addr) { - u8 oldnoprobe = hwif-noprobe; + if (io_addr) { + u8 oldnoprobe; + + /* +* Skip probing if the corresponding +* slot entry is already occupied. IMHO, it's either slot or entry, else it sounds superfluous. :-) I made 'take 2' with entry removed, thanks. - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 03/12] ide: add ide-4drives host driver
On Tuesday 19 February 2008, Sergei Shtylyov wrote: Bartlomiej Zolnierkiewicz wrote: CONFIG_BLK_DEV_4DRIVES deserves its own host driver: * Add drivers/ide/legacy/ide-4drives.c and move 4drives support there. * Add ide-4drives.o in the link order after all other legacy host drivers enabled by ide0= options (they all are mutually exclusive). * Make ide-4drives host driver probe itself for IDE devices instead of indirectly depending on ide_generic host driver. * Add probe module parameter to ide-4drives and update documentation. Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] Index: b/drivers/ide/Kconfig === --- a/drivers/ide/Kconfig +++ b/drivers/ide/Kconfig @@ -1042,8 +1042,8 @@ config BLK_DEV_4DRIVES Certain older chipsets, including the Tekram 690CD, use a single set of I/O ports at 0x1f0 to control up to four drives, instead of the customary two drives per port. Support for this can be enabled at - runtime using the ide0=four kernel boot parameter if you say Y - here. + runtime using the ide_4drives.probe kernel boot parameter if you Not ide-4drives.probe? Looks correct otherwise. I believe that both versions are correct but I fixed this in 'take 3' to be on the safe side. Thanks, Bart - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Maxtor 7V300F0 on sil3114 VS Maxtor Atlas 15K2 on adaptec29160 strangeness
can you post a dmesg? These are all the logs / info I could get my hands on remotely. The 'ubuntu' ones are from a boot with the Ubuntu 7.10 live-CD. The 'native' ones are from the Debian lenny test install on the Atlas The above have dmesg, lspci -vvnnxb and hdparm -I The xml is from the dban-beta. Rest is from various tries with dban-1.0.7 These last two might have more disks connected. what firmware is on the 7V300F0? VA111630, according to hdparm -I Thanks for helping, C. - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] sata_mv: remove iounmap in mv_platform_remove and use devm_iomap
Mark Lord wrote: Saeed Bishara wrote: this will fix crash bug when doing rmmod to the driver, this is because the port_stop function get called later and it could access the device's registers. Signed-off-by: Saeed Bishara [EMAIL PROTECTED] Acked-by: Tejun Heo [EMAIL PROTECTED] -- tejun - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] ide_platform: fix resources handling
Tell IDE layer to not manage resources by always setting hwif-mmio flag (resources are handled by a platform device). Cc: Anton Vorontsov [EMAIL PROTECTED] Cc: Vitaly Bordug [EMAIL PROTECTED] Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] --- drivers/ide/legacy/ide_platform.c |5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) Index: b/drivers/ide/legacy/ide_platform.c === --- a/drivers/ide/legacy/ide_platform.c +++ b/drivers/ide/legacy/ide_platform.c @@ -100,11 +100,10 @@ static int __devinit plat_ide_probe(stru hw.dev = pdev-dev; ide_init_port_hw(hwif, hw); + hwif-mmio = 1; - if (mmio) { - hwif-mmio = 1; + if (mmio) default_hwif_mmiops(hwif); - } idx[0] = hwif-index; - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] delkin_cb: fix resources handling
Tell IDE layer to not manage resources by setting hwif-mmio flag. Cc: Mark Lord [EMAIL PROTECTED] Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] --- drivers/ide/pci/delkin_cb.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: b/drivers/ide/pci/delkin_cb.c === --- a/drivers/ide/pci/delkin_cb.c +++ b/drivers/ide/pci/delkin_cb.c @@ -71,7 +71,6 @@ delkin_cb_probe (struct pci_dev *dev, co if (setup[i]) outb(setup[i], base + i); } - pci_release_regions(dev); /* IDE layer handles regions itself */ memset(hw, 0, sizeof(hw)); ide_std_init_ports(hw, base + 0x10, base + 0x1e); @@ -90,6 +89,7 @@ delkin_cb_probe (struct pci_dev *dev, co ide_init_port_data(hwif, i); ide_init_port_hw(hwif, hw); + hwif-mmio = 1; hwif-quirkproc = ide_undecoded_slave; idx[0] = i; @@ -110,6 +110,7 @@ delkin_cb_probe (struct pci_dev *dev, co out_disable: printk(KERN_ERR delkin_cb: no IDE devices found\n); + pci_release_regions(dev); pci_disable_device(dev); return -ENODEV; } @@ -122,6 +123,7 @@ delkin_cb_remove (struct pci_dev *dev) if (hwif) ide_unregister(hwif-index); + pci_release_regions(dev); pci_disable_device(dev); } - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] bast-ide: fix resources reservation
* Tell IDE layer to not manage resources by setting hwif-mmio flag and request resources in bastide_init(). * Use request_mem_region() for resources reservation. * Use driver name for resources reservation. Cc: Ben Dooks [EMAIL PROTECTED] Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] --- drivers/ide/arm/bast-ide.c | 10 ++ 1 file changed, 10 insertions(+) Index: b/drivers/ide/arm/bast-ide.c === --- a/drivers/ide/arm/bast-ide.c +++ b/drivers/ide/arm/bast-ide.c @@ -21,6 +21,8 @@ #include asm/arch/bast-map.h #include asm/arch/bast-irq.h +#define DRV_NAME bast-ide + static int __init bastide_register(unsigned int base, unsigned int aux, int irq) { ide_hwif_t *hwif; @@ -53,6 +55,7 @@ static int __init bastide_register(unsig ide_init_port_data(hwif, i); ide_init_port_hw(hwif, hw); + hwif-mmio = 1; hwif-quirkproc = NULL; idx[0] = i; @@ -64,6 +67,8 @@ out: static int __init bastide_init(void) { + unsigned long base = BAST_VA_IDEPRI + BAST_IDE_CS; + /* we can treat the VR1000 and the BAST the same */ if (!(machine_is_bast() || machine_is_vr1000())) @@ -71,6 +76,11 @@ static int __init bastide_init(void) printk(BAST: IDE driver, (c) 2003-2004 Simtec Electronics\n); + if (!request_mem_region(base, 0x40, DRV_NAME)) { + printk(KERN_ERR %s: resources busy\n, DRV_NAME); + return -EBUSY; + } + bastide_register(BAST_VA_IDEPRI, BAST_VA_IDEPRIAUX, IRQ_IDE0); bastide_register(BAST_VA_IDESEC, BAST_VA_IDESECAUX, IRQ_IDE1); - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [discuss] pci_get_device_reverse(), why does Calgary need this?
On Thu, Feb 14, 2008 at 01:11:42PM +0100, Bartlomiej Zolnierkiewicz wrote: On Thursday 14 February 2008, Andreas Jaeger wrote: Greg KH [EMAIL PROTECTED] writes: How does the patch below look? I didn't want to remove the whole config option, as there is more to the logic than just the reverse order stuff there. I think you miss Documentation - it's mentioned in ide.txt and kernel-parameters.txt, + drivers/ide/Kconfig Greg, please update the patch (and add my S-o-B while at it). Now done, thanks. greg k-h - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 2/2] ide-mpc8xx: fix resources reservation
* Tell IDE layer to not manage resources by setting hwif-mmio flag and request resources in m8xx_ide_init_ports(). * Use request_mem_region() for resources reservation. * Use driver name for resources reservation. Cc: Vitaly Bordug [EMAIL PROTECTED] Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] --- drivers/ide/ppc/mpc8xx.c | 18 +- 1 file changed, 17 insertions(+), 1 deletion(-) Index: b/drivers/ide/ppc/mpc8xx.c === --- a/drivers/ide/ppc/mpc8xx.c +++ b/drivers/ide/ppc/mpc8xx.c @@ -36,6 +36,8 @@ #include asm/machdep.h #include asm/irq.h +#define DRV_NAME ide-mpc8xx + static int identify (volatile u8 *p); static void print_fixed (volatile u8 *p); static void print_funcid (int func); @@ -182,6 +184,13 @@ static int __init m8xx_ide_init_ports(hw pcmcia_phy_base, pcmcia_phy_end, pcmcia_phy_end - pcmcia_phy_base); + if (!request_mem_region(pcmcia_phy_base, + pcmcia_phy_end - pcmcia_phy_base, + DRV_NAME)) { + printk(KERN_ERR %s: resources busy\n, DRV_NAME); + return -EBUSY; + } + pcmcia_base=(unsigned long)ioremap(pcmcia_phy_base, pcmcia_phy_end-pcmcia_phy_base); @@ -326,7 +335,12 @@ static int __init m8xx_ide_init_ports(hw printk (IDE phys mem : %08x...%08x (size %08x)\n, ide_phy_base, ide_phy_end, ide_phy_end - ide_phy_base); - + + if (!request_mem_region(ide_phy_base, 0x200, DRV_NAME)) { + printk(KERN_ERR %s: resources busy\n, DRV_NAME); + return -EBUSY; + } + ide_base=(unsigned long)ioremap(ide_phy_base, ide_phy_end-ide_phy_base); @@ -796,6 +810,7 @@ static int __init mpc8xx_ide_probe(void) ide_hwif_t *hwif = ide_hwifs[0]; ide_init_port_hw(hwif, hw); + hwif-mmio = 1; hwif-pio_mask = ATA_PIO4; hwif-set_pio_mode = m8xx_ide_set_pio_mode; @@ -807,6 +822,7 @@ static int __init mpc8xx_ide_probe(void) ide_hwif_t *mate = ide_hwifs[1]; ide_init_port_hw(mate, hw); + mate-mmio = 1; mate-pio_mask = ATA_PIO4; mate-set_pio_mode = m8xx_ide_set_pio_mode; - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] falconide: fix resources reservation
* Tell IDE layer to not manage resources by setting hwif-mmio flag and request resources in falconide_init(). * Use request_mem_region() for resources reservation. * Use driver name for resources reservation. Cc: Geert Uytterhoeven [EMAIL PROTECTED] Cc: Michael Schmitz [EMAIL PROTECTED] Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] --- drivers/ide/legacy/falconide.c |7 +++ 1 file changed, 7 insertions(+) Index: b/drivers/ide/legacy/falconide.c === --- a/drivers/ide/legacy/falconide.c +++ b/drivers/ide/legacy/falconide.c @@ -22,6 +22,7 @@ #include asm/atariints.h #include asm/atari_stdma.h +#define DRV_NAME falconide /* * Base of the IDE interface @@ -74,6 +75,11 @@ static int __init falconide_init(void) printk(KERN_INFO ide: Falcon IDE controller\n); + if (!request_mem_region(ATA_HD_BASE, 0x40, DRV_NAME)) { + printk(KERN_ERR %s: resources busy\n); + return -EBUSY; + } + falconide_setup_ports(hw); hwif = ide_find_port(); @@ -83,6 +89,7 @@ static int __init falconide_init(void) ide_init_port_data(hwif, index); ide_init_port_hw(hwif, hw); + hwif-mmio = 1; ide_get_lock(NULL, NULL); ide_device_add(idx, NULL); - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[BUG] next-20080219 - ide oops while bootup at ide_device_add_all ()
Hi, The next-20080219 kernel oops while booting up on x86_64 box. This bug was fixed in the 2.6.24-git(s) with the patch posted at http://lkml.org/lkml/2008/2/11/350 ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 BUG: unable to handle kernel paging request at 80a37b8d IP: [8039470a] ide_device_add_all+0x1a5/0x517 PGD 203067 PUD 207063 PMD 0 Oops: [1] SMP last sysfs file: CPU 1 Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.25-rc2-autotest-next-20080219 #1 RIP: 0010:[8039470a] [8039470a] ide_device_add_all+0x1a5/0x517 RSP: :8101e7125db0 EFLAGS: 00010206 RAX: 000a8000 RBX: 0009 RCX: 0009 RDX: 8101e7125e60 RSI: RDI: 8101e7125e60 RBP: R08: R09: 8101e68de870 R10: 0177 R11: 0174 R12: 80990080 R13: R14: 000a R15: FS: () GS:8101e710d740() knlGS: CS: 0010 DS: 0018 ES: 0018 CR0: 8005003b CR2: 80a37b8d CR3: 00201000 CR4: 06e0 DR0: DR1: DR2: DR3: DR6: 0ff0 DR7: 0400 Process swapper (pid: 1, threadinfo 8101e7124000, task 8101e7123200) Stack: 8101e7125e60 0009 01f0 80990080 0001 000a 8088d725 0170 0171 0172 0173 Call Trace: [8088d725] ide_generic_init+0x169/0x1d8 [808706f7] kernel_init+0x17d/0x2e9 [8020cc78] child_rip+0xa/0x12 [8087057a] kernel_init+0x0/0x2e9 [8020cc6e] child_rip+0x0/0x12 Code: 49 ff c5 49 83 fe 0a 0f 85 97 fe ff ff 45 31 ed 48 8b 14 24 41 8a 44 15 00 3c ff 0f 84 4d 01 00 00 0f b6 c0 48 69 c0 00 0c 00 00 80 b8 8d fb 98 80 0d 48 8d 98 80 f4 98 80 75 15 48 8b 80 88 f4 RIP [8039470a] ide_device_add_all+0x1a5/0x517 RSP 8101e7125db0 CR2: 80a37b8d ---[ end trace 31f82065a26d65bf ]--- Kernel panic - not syncing: Attempted to kill init! -- Thanks Regards, Kamalesh Babulal, Linux Technology Center, IBM, ISTL. - To unsubscribe from this list: send the line unsubscribe linux-ide in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html