linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2.6.11-rc2 0/29] ide: driver updates
@ 2005-02-02  2:40 Tejun Heo
  2005-02-02  2:43 ` [PATCH 2.6.11-rc2 01/29] ide: remove adma100 Tejun Heo
                   ` (30 more replies)
  0 siblings, 31 replies; 71+ messages in thread
From: Tejun Heo @ 2005-02-02  2:40 UTC (permalink / raw)
  To: B.Zolnierkiewicz, linux-kernel, linux-ide

 Hello, B. Zolnierkiewicz.

 These patches are various fixes/improvements to the ide driver.  They
are against the 2.6 bk tree as of today (20050202).

01_ide_remove_adma100.patch

	Removes drivers/ide/pci/adma100.[hc].  The driver isn't
	compilable (missing functions) and no Kconfig actually enables
	CONFIG_BLK_DEV_ADMA100.

02_ide_cleanup_it8172.patch

	In drivers/ide/pci/it8172.h, it8172_ratefilter() and
	init_setup_it8172() are declared and the latter is referenced
	in it8172_chipsets.  Both functions are not defined or used
	anywhere.  This patch removes the prototypes and reference.
	it8172 should be compilable now.

03_ide_cleanup_opti621.patch

	In drivers/ide/pci/opti612.[hc], init_setup_opt621() is
	declared, defined and referenced but never actullay used.
	Thie patch removes the function.

04_ide_cleanup_piix.patch

	In drivers/ide/pci/piix.[hc], init_setup_piix() is defined and
	used but only one init_setup function is defined and no
	demultiplexing is done using init_setup callback.  As other
	drivers call ide_setup_pci_device() directly in such cases,
	this patch removes init_setup_piix() and makes piix_init_one()
	call ide_setup_pci_device() directly.

05_ide_merge_pci_driver_hc.patch

	Merges drivers/ide/pci/*.h files into their corresponding *.c
	files.  Rationales are
	1. There's no reason to separate pci drivers into header and
	   body.  No header file is shared and they're simple enough.
	2. struct pde_pci_device_t *_chipsets[] are _defined_ in the
	   header files.  That isn't the custom and there's no good
	   reason to do differently in these drivers.
	3. Tracking changelogs shows that the bugs fixed by 00 and 01
	   are introduced during mass-updating ide pci drivers by
	   forgetting to update *.h files.

06_ide_start_request_IDE_CONTROL_REG.patch

	Replaced HWIF(drive)->io_ports[IDE_CONTROL_OFFSET] with
	equivalent IDE_CONTROL_REG in ide-io.c.

07_ide_reg_valid_t_endian_fix.patch

	ide_reg_valid_t contains bitfield flags but doesn't reverse
	bit orders using __*_ENDIAN_BITFIELD macros.  And constants
	for ide_reg_valid_t, IDE_{TASKFILE|HOB}_STD_{IN|OUT}_FLAGS,
	are defined as byte values which are correct only on
	little-endian machines.  This patch defines reversed constants
	and .h byte union structure to make things correct on big
	endian machines.  The only code which uses above macros is in
	flagged_taskfile() and the code is currently unused, so this
	patch doesn't change any behavior.  (The code will get used in
	later patches.)

08_ide_do_identify_model_string_termination.patch

	Terminates id->model string before invoking strstr() in
	do_identify().

09_ide_do_rw_disk_lba48_dma_check_fix.patch

	In __ide_do_rw_disk(), the shifted block, instead of the
	original rq->sector, should be used when checking range for
	lba48 dma.

10_ide_do_rw_disk_pre_task_out_intr_return_fix.patch

	In __ide_do_rw_disk(), ide_started used to be returned blindly
	after issusing PIO write.  This can cause hang if
	pre_task_out_intr() returns ide_stopped due to failed
	ide_wait_stat() test.  Fixed to pass the return value of
	pre_task_out_intr().

11_ide_drive_sleeping_fix.patch

	ide_drive_t.sleeping field added.  0 in sleep field used to
	indicate inactive sleeping but because 0 is a valid jiffy
	value, though slim, there's a chance that something can go
	weird.  And while at it, explicit jiffy comparisons are
	converted to use time_{after|before} macros.

12_ide_hwgroup_t_polling.patch

	ide_hwgroup_t.polling field added.  0 in poll_timeout field
	used to indicate inactive polling but because 0 is a valid
	jiffy value, though slim, there's a chance that something
	weird can happen.

13_ide_tape_time_after.patch

	Explicit jiffy comparision converted to time_after() macro.

14_ide_error_remove_NULL_test.patch

	In ide_error(), drive cannot be NULL.  ide_dump_status() can't
	handle NULL drive.

15_ide_flagged_taskfile_data_byte_order_fix.patch

	In flagged_taskfile(), when writing data register,
	taskfile->data goes to the lower byte and hobfile->data goes
	to the upper byte on little endian machines and the opposite
	happens on big endian machines.  This patch make
	taskfile->data always go to the lower byte regardless of
	endianess.

16_ide_flagged_taskfile_select_dev_bit_masking.patch

	In flagged_taskfile(), make off DEV bit before OR'ing it with
	drive->select.all when writing to IDE_SELECT_REG.

17_ide_flagged_taskfile_select_check.patch

	In flagged_taskfile(), tf_out_flags.b.select should be checked
	before using bits inside taskfile->device_head.  When user
	haven't specified the select register, the default
	drive->select.all value should be used.

18_ide_comment_fixes.patch

	Comment fixes.

19_ide_diag_taskfile_use_init_drive_cmd.patch

	In ide_diag_taskfile(), when initializing taskfile rq,
	ref_count wasn't initialized properly.  Modified to use
	ide_init_drive_cmd().  This doesn't really change any behavior
	as the request isn't managed via the block layer.

20_ide_task_end_request_fix.patch

	task_end_request() modified and made global.  ide_dma_intr()
	modified to use task_end_request().  These changes enable
	TASKFILE ioctls to get valid register outputs on successful
	completion.  No in-kernel usage should be affected.

21_ide_do_taskfile.patch

	Merged do_rw_taskfile() and flagged_taskfile() into
	do_taskfile().  During the merge, the following changes took
	place.
	1. flagged taskfile now honors HOB feature register.
	   (do_rw_taskfile() did write to HOB feature.)
	2. No do_rw_taskfile() HIHI check on select register.  Except
	   for the DEV bit, all bits are honored.
	3. Uses taskfile->data_phase to determine if dma trasfer is
	   requested.  (do_rw_taskfile() directly switched on
	   taskfile->command for all dma commands)

22_ide_taskfile_flush.patch

	All REQ_DRIVE_TASK users except ide_task_ioctl() converted
	to use REQ_DRIVE_TASKFILE.
	1. idedisk_issue_flush() converted to use REQ_DRIVE_TASKFILE.
	   This and the changes in ide_get_error_location() remove a
	   possible race condition between ide_get_error_location()
	   and other requests.
	2. ide_queue_flush_cmd() converted to use REQ_DRIVE_TASKFILE.

23_ide_taskfile_task_ioctl.patch

	ide_task_ioctl() modified to map to ide_taskfile_ioctl().
	This is the last user of REQ_DRIVE_TASK.

24_ide_remove_task.patch

	Unused REQ_DRIVE_TASK handling removed.

25_ide_taskfile_cmd.patch

	All in-kernel REQ_DRIVE_CMD users except for ide_cmd_ioctl()
	converted to use REQ_DRIVE_TASKFILE.

26_ide_taskfile_cmd_ioctl.patch

	ide_cmd_ioctl() converted to use ide_taskfile_ioctl().  This
	is the last user of REQ_DRIVE_CMD.

27_ide_remove_cmd.patch

	Removed unused REQ_DRIVE_CMD handling.

28_ide_taskfile_init_drive_cmd.patch

	ide_init_drive_cmd() now initializes rq->flags to
	REQ_DRIVE_TASKFILE.

29_ide_explicit_TASKFILE_NO_DATA.patch

	Make data_phase explicit in NO_DATA cases.

 Thanks.

-- 
tejun


^ permalink raw reply	[flat|nested] 71+ messages in thread

end of thread, other threads:[~2005-02-04  8:39 UTC | newest]

Thread overview: 71+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-02  2:40 [PATCH 2.6.11-rc2 0/29] ide: driver updates Tejun Heo
2005-02-02  2:43 ` [PATCH 2.6.11-rc2 01/29] ide: remove adma100 Tejun Heo
2005-02-02 23:43   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:44 ` [PATCH 2.6.11-rc2 02/29] ide: cleanup it8172 Tejun Heo
2005-02-03  0:00   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:45 ` [PATCH 2.6.11-rc2 03/29] ide: cleanup opti621 Tejun Heo
2005-02-03  0:05   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:46 ` [PATCH 2.6.11-rc2 04/29] ide: cleanup piix Tejun Heo
2005-02-03  0:20   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:47 ` [PATCH 2.6.11-rc2 05/29] ide: merge pci driver .h's into .c's Tejun Heo
2005-02-04  2:00   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:48 ` [PATCH 2.6.11-rc2 06/29] ide: IDE_CONTROL_REG cleanup Tejun Heo
2005-02-03  0:23   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:49 ` [PATCH 2.6.11-rc2 07/29] ide: ide_reg_valid_t endian fix Tejun Heo
2005-02-02  2:50 ` [PATCH 2.6.11-rc2 8/29] ide: driver updates Tejun Heo
2005-02-02  3:14   ` [PATCH 2.6.11-rc2 08/29] ide: do_identify() string termination fix Tejun Heo
2005-02-02  2:51 ` [PATCH 2.6.11-rc2 09/29] ide: __ide_do_rw_disk() lba48 dma check fix Tejun Heo
2005-02-03  0:33   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:52 ` [PATCH 2.6.11-rc2 10/29] ide: __ide_do_rw_disk() return value fix Tejun Heo
2005-02-03  0:36   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:54 ` [PATCH 2.6.11-rc2 11/29] ide: add ide_drive_t.sleeping Tejun Heo
2005-02-03  0:47   ` Bartlomiej Zolnierkiewicz
2005-02-03 11:37     ` Jens Axboe
2005-02-03 13:30       ` Bartlomiej Zolnierkiewicz
2005-02-03 13:32         ` Jens Axboe
2005-02-03 13:35           ` Bartlomiej Zolnierkiewicz
2005-02-03 22:20             ` Tejun Heo
2005-02-04  8:39               ` Jens Axboe
2005-02-03 14:13   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:55 ` [PATCH 2.6.11-rc2 12/29] ide: add ide_hwgroup_t.polling Tejun Heo
2005-02-03  0:42   ` Bartlomiej Zolnierkiewicz
2005-02-03 14:20   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:56 ` [PATCH 2.6.11-rc2 13/29] ide: use time_after() macro Tejun Heo
2005-02-03  1:07   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:57 ` [PATCH 2.6.11-rc2 14/29] ide: remove NULL checking in ide_error() Tejun Heo
2005-02-03  1:14   ` Bartlomiej Zolnierkiewicz
2005-02-02  2:58 ` [PATCH 2.6.11-rc2 15/29] ide: flagged_taskfile() data byte order fix Tejun Heo
2005-02-02  3:00 ` [PATCH 2.6.11-rc2 16/29] ide: flagged_taskfile select register dev bit masking Tejun Heo
2005-02-02  3:01 ` [PATCH 2.6.11-rc2 17/29] ide: flagged_taskfile() tf_out_flags.b.select check Tejun Heo
2005-02-02  3:02 ` [PATCH 2.6.11-rc2 18/29] ide: comment fixes Tejun Heo
2005-02-03  1:17   ` Bartlomiej Zolnierkiewicz
2005-02-02  3:03 ` [PATCH 2.6.11-rc2 19/29] ide: ide_diag_taskfile() rq initialization fix Tejun Heo
2005-02-02  3:05 ` [PATCH 2.6.11-rc2 20/29] ide: task_end_request() fix Tejun Heo
2005-02-02  3:06 ` [PATCH 2.6.11-rc2 21/29] ide: Merge do_rw_taskfile() and flagged_taskfile() Tejun Heo
2005-02-03 18:39   ` Bartlomiej Zolnierkiewicz
2005-02-04  0:30     ` Tejun Heo
2005-02-02  3:07 ` [PATCH 2.6.11-rc2 22/29] ide: convert REQ_DRIVE_TASK to REQ_DRIVE_TASKFILE Tejun Heo
2005-02-03 17:30   ` Bartlomiej Zolnierkiewicz
2005-02-04  0:54     ` Tejun Heo
2005-02-04  1:50       ` Bartlomiej Zolnierkiewicz
2005-02-02  3:08 ` [PATCH 2.6.11-rc2 23/29] ide: map ide_task_ioctl() to ide_taskfile_ioctl() Tejun Heo
2005-02-03 17:37   ` Bartlomiej Zolnierkiewicz
2005-02-03 17:38     ` Bartlomiej Zolnierkiewicz
2005-02-02  3:08 ` [PATCH 2.6.11-rc2 24/29] ide: remove REQ_DRIVE_TASK handling Tejun Heo
2005-02-02  3:10 ` [PATCH 2.6.11-rc2 26/29] ide: map ide_cmd_ioctl() to ide_taskfile_ioctl() Tejun Heo
2005-02-03 17:54   ` Bartlomiej Zolnierkiewicz
2005-02-04  2:11     ` Tejun Heo
2005-02-04  2:22       ` Bartlomiej Zolnierkiewicz
2005-02-02  3:11 ` [PATCH 2.6.11-rc2 27/29] ide: remove REQ_DRIVE_CMD handling Tejun Heo
2005-02-02  3:11 ` [PATCH 2.6.11-rc2 28/29] ide: ide_init_drive_cmd() now defaults to REQ_DRIVE_TASKFILE Tejun Heo
2005-02-02  3:12 ` [PATCH 2.6.11-rc2 29/29] ide: make data_phase explicit in NO_DATA cases Tejun Heo
2005-02-03 17:43   ` Bartlomiej Zolnierkiewicz
2005-02-04  0:59     ` Tejun Heo
2005-02-04  1:37       ` Bartlomiej Zolnierkiewicz
2005-02-02  3:15 ` [PATCH 2.6.11-rc2 25/29] ide: convert REQ_DRIVE_CMD to REQ_DRIVE_TASKFILE Tejun Heo
2005-02-03 17:46   ` Bartlomiej Zolnierkiewicz
2005-02-04  1:06     ` Tejun Heo
2005-02-04  1:40       ` Bartlomiej Zolnierkiewicz
2005-02-02  8:31 ` [PATCH 2.6.11-rc2 0/29] ide: driver updates Jeff Garzik
2005-02-03 10:03   ` Alan Cox
2005-02-03  1:03 ` Bartlomiej Zolnierkiewicz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).