Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci-2.6.23
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci-2.6.23
Commits
0274aa25
Commit
0274aa25
authored
Jun 22, 2005
by
Jeff Garzik
Committed by
Jeff Garzik
Jun 22, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
libata: Update 'passthru' branch for latest libata
parent
80bd6d7f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
6 deletions
+10
-6
drivers/scsi/libata-scsi.c
drivers/scsi/libata-scsi.c
+10
-6
No files found.
drivers/scsi/libata-scsi.c
View file @
0274aa25
...
@@ -582,7 +582,11 @@ void ata_gen_fixed_sense(struct ata_queued_cmd *qc)
...
@@ -582,7 +582,11 @@ void ata_gen_fixed_sense(struct ata_queued_cmd *qc)
sb
[
0
]
=
0x70
;
sb
[
0
]
=
0x70
;
sb
[
7
]
=
0x0a
;
sb
[
7
]
=
0x0a
;
#if 0 /* when C/H/S support is merged */
if (tf->flags & ATA_TFLAG_LBA && !(tf->flags & ATA_TFLAG_LBA48)) {
if (tf->flags & ATA_TFLAG_LBA && !(tf->flags & ATA_TFLAG_LBA48)) {
#endif
if
(
!
(
tf
->
flags
&
ATA_TFLAG_LBA48
))
{
/* A small (28b) LBA will fit in the 32b info field */
/* A small (28b) LBA will fit in the 32b info field */
sb
[
0
]
|=
0x80
;
/* set valid bit */
sb
[
0
]
|=
0x80
;
/* set valid bit */
sb
[
3
]
=
tf
->
device
&
0x0f
;
sb
[
3
]
=
tf
->
device
&
0x0f
;
...
@@ -977,8 +981,8 @@ static void ata_scsi_translate(struct ata_port *ap, struct ata_device *dev,
...
@@ -977,8 +981,8 @@ static void ata_scsi_translate(struct ata_port *ap, struct ata_device *dev,
return
;
return
;
/* data is present; dma-map it */
/* data is present; dma-map it */
if
(
cmd
->
sc_data_direction
==
SCSI_DATA_READ
||
if
(
cmd
->
sc_data_direction
==
DMA_FROM_DEVICE
||
cmd
->
sc_data_direction
==
SCSI_DATA_WRIT
E
)
{
cmd
->
sc_data_direction
==
DMA_TO_DEVIC
E
)
{
if
(
unlikely
(
cmd
->
request_bufflen
<
1
))
{
if
(
unlikely
(
cmd
->
request_bufflen
<
1
))
{
printk
(
KERN_WARNING
"ata%u(%u): WARNING: zero len r/w req
\n
"
,
printk
(
KERN_WARNING
"ata%u(%u): WARNING: zero len r/w req
\n
"
,
ap
->
id
,
dev
->
devno
);
ap
->
id
,
dev
->
devno
);
...
@@ -1609,7 +1613,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc, u8 *scsicmd)
...
@@ -1609,7 +1613,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc, u8 *scsicmd)
struct
scsi_cmnd
*
cmd
=
qc
->
scsicmd
;
struct
scsi_cmnd
*
cmd
=
qc
->
scsicmd
;
struct
ata_device
*
dev
=
qc
->
dev
;
struct
ata_device
*
dev
=
qc
->
dev
;
int
using_pio
=
(
dev
->
flags
&
ATA_DFLAG_PIO
);
int
using_pio
=
(
dev
->
flags
&
ATA_DFLAG_PIO
);
int
nodata
=
(
cmd
->
sc_data_direction
==
SCSI_DAT
A_NONE
);
int
nodata
=
(
cmd
->
sc_data_direction
==
DM
A_NONE
);
if
(
!
using_pio
)
if
(
!
using_pio
)
/* Check whether ATAPI DMA is safe */
/* Check whether ATAPI DMA is safe */
...
@@ -1621,7 +1625,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc, u8 *scsicmd)
...
@@ -1621,7 +1625,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc, u8 *scsicmd)
qc
->
complete_fn
=
atapi_qc_complete
;
qc
->
complete_fn
=
atapi_qc_complete
;
qc
->
tf
.
flags
|=
ATA_TFLAG_ISADDR
|
ATA_TFLAG_DEVICE
;
qc
->
tf
.
flags
|=
ATA_TFLAG_ISADDR
|
ATA_TFLAG_DEVICE
;
if
(
cmd
->
sc_data_direction
==
SCSI_DATA_WRIT
E
)
{
if
(
cmd
->
sc_data_direction
==
DMA_TO_DEVIC
E
)
{
qc
->
tf
.
flags
|=
ATA_TFLAG_WRITE
;
qc
->
tf
.
flags
|=
ATA_TFLAG_WRITE
;
DPRINTK
(
"direction: write
\n
"
);
DPRINTK
(
"direction: write
\n
"
);
}
}
...
@@ -1645,7 +1649,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc, u8 *scsicmd)
...
@@ -1645,7 +1649,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc, u8 *scsicmd)
#ifdef ATAPI_ENABLE_DMADIR
#ifdef ATAPI_ENABLE_DMADIR
/* some SATA bridges need us to indicate data xfer direction */
/* some SATA bridges need us to indicate data xfer direction */
if
(
cmd
->
sc_data_direction
!=
SCSI_DATA_WRIT
E
)
if
(
cmd
->
sc_data_direction
!=
DMA_TO_DEVIC
E
)
qc
->
tf
.
feature
|=
ATAPI_DMADIR
;
qc
->
tf
.
feature
|=
ATAPI_DMADIR
;
#endif
#endif
}
}
...
@@ -1821,7 +1825,7 @@ ata_scsi_pass_thru(struct ata_queued_cmd *qc, u8 *scsicmd)
...
@@ -1821,7 +1825,7 @@ ata_scsi_pass_thru(struct ata_queued_cmd *qc, u8 *scsicmd)
*/
*/
tf
->
flags
|=
(
ATA_TFLAG_ISADDR
|
ATA_TFLAG_DEVICE
);
tf
->
flags
|=
(
ATA_TFLAG_ISADDR
|
ATA_TFLAG_DEVICE
);
if
(
cmd
->
sc_data_direction
==
SCSI_DATA_WRIT
E
)
if
(
cmd
->
sc_data_direction
==
DMA_TO_DEVIC
E
)
tf
->
flags
|=
ATA_TFLAG_WRITE
;
tf
->
flags
|=
ATA_TFLAG_WRITE
;
/*
/*
...
...
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