Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 85786
b: refs/heads/master
c: 0e7d8d4
h: refs/heads/master
v: v3
  • Loading branch information
Jan Evert van Grootheest authored and Bartlomiej Zolnierkiewicz committed Feb 19, 2008
1 parent 99d306f commit 7c38cd0
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1a1990f5479b0c9055c133b7e0e7fedfcbe11512
refs/heads/master: 0e7d8d480259319649f7a2c230622b98758d1c83
23 changes: 16 additions & 7 deletions trunk/drivers/ide/legacy/ht6560b.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,21 @@
* "Prefetch" mode bit OFF for ide disks and
* ON for anything else.
*
* Version 0.08 Need to force prefetch for CDs and other non-disk
* devices. (not sure which devices exactly need
* prefetch)
*
* HT-6560B EIDE-controller support
* To activate controller support use kernel parameter "ide0=ht6560b".
* Use hdparm utility to enable PIO mode support.
*
* Author: Mikko Ala-Fossi <maf@iki.fi>
* Jan Evert van Grootheest <janevert@iae.nl>
* Jan Evert van Grootheest <janevert@caiway.nl>
*
* Try: http://www.maf.iki.fi/~maf/ht6560b/
*/

#define HT6560B_VERSION "v0.07"
#define HT6560B_VERSION "v0.08"

#include <linux/module.h>
#include <linux/types.h>
Expand Down Expand Up @@ -130,15 +133,20 @@ static void ht6560b_selectproc (ide_drive_t *drive)
u8 select, timing;

local_irq_save(flags);

select = HT_CONFIG(drive);
timing = HT_TIMING(drive);


/*
* Need to enforce prefetch sometimes because otherwise
* it'll hang (hard).
*/
if (drive->media != ide_disk || !drive->present)
select |= HT_PREFETCH_MODE;

if (select != current_select || timing != current_timing) {
current_select = select;
current_timing = timing;
if (drive->media != ide_disk || !drive->present)
select |= HT_PREFETCH_MODE;
(void)inb(HT_CONFIG_PORT);
(void)inb(HT_CONFIG_PORT);
(void)inb(HT_CONFIG_PORT);
Expand Down Expand Up @@ -188,11 +196,12 @@ static int __init try_to_init_ht6560b(void)
outb(HT_TIMING_DEFAULT, 0x1f6); /* IDE_SELECT_REG */
(void) inb(0x1f7); /* IDE_STATUS_REG */

printk("\nht6560b " HT6560B_VERSION
printk("ht6560b " HT6560B_VERSION
": chipset detected and initialized"
#ifdef DEBUG
" with debug enabled"
#endif
"\n"
);
return 1;
}
Expand Down

0 comments on commit 7c38cd0

Please sign in to comment.