mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
ide-tape: remove idetape_pipeline_active()
This function was simply a wrapper for a test_bit() macro so remove it and use the macro instead. Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
3dd89a9b2a
commit
c4b22f816b
1 changed files with 11 additions and 18 deletions
|
@ -1605,14 +1605,6 @@ out:
|
|||
}
|
||||
|
||||
/* Pipeline related functions */
|
||||
static inline int idetape_pipeline_active(idetape_tape_t *tape)
|
||||
{
|
||||
int rc1, rc2;
|
||||
|
||||
rc1 = test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags);
|
||||
rc2 = (tape->active_data_rq != NULL);
|
||||
return rc1;
|
||||
}
|
||||
|
||||
/*
|
||||
* The function below uses __get_free_page to allocate a pipeline stage, along
|
||||
|
@ -2058,7 +2050,7 @@ static int __idetape_discard_read_pipeline(ide_drive_t *drive)
|
|||
|
||||
spin_lock_irqsave(&tape->lock, flags);
|
||||
tape->next_stage = NULL;
|
||||
if (idetape_pipeline_active(tape))
|
||||
if (test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags))
|
||||
idetape_wait_for_request(drive, tape->active_data_rq);
|
||||
spin_unlock_irqrestore(&tape->lock, flags);
|
||||
|
||||
|
@ -2131,7 +2123,7 @@ static int idetape_queue_rw_tail(ide_drive_t *drive, int cmd, int blocks,
|
|||
|
||||
debug_log(DBG_SENSE, "%s: cmd=%d\n", __func__, cmd);
|
||||
|
||||
if (idetape_pipeline_active(tape)) {
|
||||
if (test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags)) {
|
||||
printk(KERN_ERR "ide-tape: bug: the pipeline is active in %s\n",
|
||||
__func__);
|
||||
return (0);
|
||||
|
@ -2162,8 +2154,7 @@ static void idetape_plug_pipeline(ide_drive_t *drive)
|
|||
|
||||
if (tape->next_stage == NULL)
|
||||
return;
|
||||
if (!idetape_pipeline_active(tape)) {
|
||||
set_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags);
|
||||
if (!test_and_set_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags)) {
|
||||
idetape_activate_next_stage(drive);
|
||||
(void) ide_do_drive_cmd(drive, tape->active_data_rq, ide_end);
|
||||
}
|
||||
|
@ -2242,13 +2233,14 @@ static int idetape_add_chrdev_write_request(ide_drive_t *drive, int blocks)
|
|||
/* Attempt to allocate a new stage. Beware possible race conditions. */
|
||||
while ((new_stage = idetape_kmalloc_stage(tape)) == NULL) {
|
||||
spin_lock_irqsave(&tape->lock, flags);
|
||||
if (idetape_pipeline_active(tape)) {
|
||||
if (test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags)) {
|
||||
idetape_wait_for_request(drive, tape->active_data_rq);
|
||||
spin_unlock_irqrestore(&tape->lock, flags);
|
||||
} else {
|
||||
spin_unlock_irqrestore(&tape->lock, flags);
|
||||
idetape_plug_pipeline(drive);
|
||||
if (idetape_pipeline_active(tape))
|
||||
if (test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE,
|
||||
&tape->flags))
|
||||
continue;
|
||||
/*
|
||||
* The machine is short on memory. Fallback to non-
|
||||
|
@ -2277,7 +2269,7 @@ static int idetape_add_chrdev_write_request(ide_drive_t *drive, int blocks)
|
|||
* starting to service requests, so that we will be able to keep up with
|
||||
* the higher speeds of the tape.
|
||||
*/
|
||||
if (!idetape_pipeline_active(tape)) {
|
||||
if (!test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags)) {
|
||||
if (tape->nr_stages >= tape->max_stages * 9 / 10 ||
|
||||
tape->nr_stages >= tape->max_stages -
|
||||
tape->uncontrolled_pipeline_head_speed * 3 * 1024 /
|
||||
|
@ -2304,10 +2296,11 @@ static void idetape_wait_for_pipeline(ide_drive_t *drive)
|
|||
idetape_tape_t *tape = drive->driver_data;
|
||||
unsigned long flags;
|
||||
|
||||
while (tape->next_stage || idetape_pipeline_active(tape)) {
|
||||
while (tape->next_stage || test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE,
|
||||
&tape->flags)) {
|
||||
idetape_plug_pipeline(drive);
|
||||
spin_lock_irqsave(&tape->lock, flags);
|
||||
if (idetape_pipeline_active(tape))
|
||||
if (test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags))
|
||||
idetape_wait_for_request(drive, tape->active_data_rq);
|
||||
spin_unlock_irqrestore(&tape->lock, flags);
|
||||
}
|
||||
|
@ -2464,7 +2457,7 @@ static int idetape_init_read(ide_drive_t *drive, int max_stages)
|
|||
new_stage = idetape_kmalloc_stage(tape);
|
||||
}
|
||||
}
|
||||
if (!idetape_pipeline_active(tape)) {
|
||||
if (!test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags)) {
|
||||
if (tape->nr_pending_stages >= 3 * max_stages / 4) {
|
||||
tape->measure_insert_time = 1;
|
||||
tape->insert_time = jiffies;
|
||||
|
|
Loading…
Reference in a new issue