Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
4801224e
Commit
4801224e
authored
May 13, 2004
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[libata] use new ->bmdma_{start,setup} method to properly support ATAPI
parent
8fdb45f5
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
2 deletions
+9
-2
drivers/scsi/libata-core.c
drivers/scsi/libata-core.c
+9
-2
No files found.
drivers/scsi/libata-core.c
View file @
4801224e
...
@@ -2445,7 +2445,7 @@ static int ata_qc_issue_prot(struct ata_queued_cmd *qc)
...
@@ -2445,7 +2445,7 @@ static int ata_qc_issue_prot(struct ata_queued_cmd *qc)
case
ATA_PROT_DMA
:
case
ATA_PROT_DMA
:
ap
->
ops
->
tf_load
(
ap
,
&
qc
->
tf
);
/* load tf registers */
ap
->
ops
->
tf_load
(
ap
,
&
qc
->
tf
);
/* load tf registers */
ap
->
ops
->
bmdma_setup
(
qc
);
/*
initiate
bmdma */
ap
->
ops
->
bmdma_setup
(
qc
);
/*
set up
bmdma */
ap
->
ops
->
bmdma_start
(
qc
);
/* initiate bmdma */
ap
->
ops
->
bmdma_start
(
qc
);
/* initiate bmdma */
break
;
break
;
...
@@ -2457,6 +2457,13 @@ static int ata_qc_issue_prot(struct ata_queued_cmd *qc)
...
@@ -2457,6 +2457,13 @@ static int ata_qc_issue_prot(struct ata_queued_cmd *qc)
queue_work
(
ata_wq
,
&
ap
->
pio_task
);
queue_work
(
ata_wq
,
&
ap
->
pio_task
);
break
;
break
;
case
ATA_PROT_ATAPI
:
case
ATA_PROT_ATAPI_DMA
:
ap
->
ops
->
tf_load
(
ap
,
&
qc
->
tf
);
/* load tf registers */
ap
->
ops
->
bmdma_setup
(
qc
);
/* set up bmdma */
queue_work
(
ata_wq
,
&
ap
->
packet_task
);
break
;
default:
default:
WARN_ON
(
1
);
WARN_ON
(
1
);
return
-
1
;
return
-
1
;
...
@@ -2843,7 +2850,7 @@ static void atapi_packet_task(void *_data)
...
@@ -2843,7 +2850,7 @@ static void atapi_packet_task(void *_data)
/* if we are DMA'ing, irq handler takes over from here */
/* if we are DMA'ing, irq handler takes over from here */
if
(
qc
->
tf
.
protocol
==
ATA_PROT_ATAPI_DMA
)
{
if
(
qc
->
tf
.
protocol
==
ATA_PROT_ATAPI_DMA
)
{
/* FIXME: start DMA here
*/
ap
->
ops
->
bmdma_start
(
qc
);
/* initiate bmdma
*/
}
else
{
}
else
{
ap
->
pio_task_state
=
PIO_ST
;
ap
->
pio_task_state
=
PIO_ST
;
queue_work
(
ata_wq
,
&
ap
->
pio_task
);
queue_work
(
ata_wq
,
&
ap
->
pio_task
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment