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
Kirill Smelkov
linux
Commits
022c1baf
Commit
022c1baf
authored
Nov 25, 2002
by
Alan Cox
Committed by
Linus Torvalds
Nov 25, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] new eh for inia wrapper too
parent
92fc7f3f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
44 deletions
+19
-44
drivers/scsi/inia100.c
drivers/scsi/inia100.c
+19
-44
No files found.
drivers/scsi/inia100.c
View file @
022c1baf
...
@@ -126,7 +126,7 @@ extern void orc_exec_scb(ORC_HCS * hcsp, ORC_SCB * scbp);
...
@@ -126,7 +126,7 @@ extern void orc_exec_scb(ORC_HCS * hcsp, ORC_SCB * scbp);
extern
void
orc_release_scb
(
ORC_HCS
*
hcsp
,
ORC_SCB
*
scbp
);
extern
void
orc_release_scb
(
ORC_HCS
*
hcsp
,
ORC_SCB
*
scbp
);
extern
void
orc_release_dma
(
ORC_HCS
*
hcsp
,
Scsi_Cmnd
*
cmnd
);
extern
void
orc_release_dma
(
ORC_HCS
*
hcsp
,
Scsi_Cmnd
*
cmnd
);
extern
void
orc_interrupt
(
ORC_HCS
*
hcsp
);
extern
void
orc_interrupt
(
ORC_HCS
*
hcsp
);
extern
int
orc_device_reset
(
ORC_HCS
*
pHCB
,
Scsi_Cmnd
*
SCpnt
,
unsigned
int
target
,
unsigned
int
ResetFlags
);
extern
int
orc_device_reset
(
ORC_HCS
*
pHCB
,
Scsi_Cmnd
*
SCpnt
,
unsigned
int
target
);
extern
int
orc_reset_scsi_bus
(
ORC_HCS
*
pHCB
);
extern
int
orc_reset_scsi_bus
(
ORC_HCS
*
pHCB
);
extern
int
abort_SCB
(
ORC_HCS
*
hcsp
,
ORC_SCB
*
pScb
);
extern
int
abort_SCB
(
ORC_HCS
*
hcsp
,
ORC_SCB
*
pScb
);
extern
int
orc_abort_srb
(
ORC_HCS
*
hcsp
,
Scsi_Cmnd
*
SCpnt
);
extern
int
orc_abort_srb
(
ORC_HCS
*
hcsp
,
Scsi_Cmnd
*
SCpnt
);
...
@@ -514,7 +514,7 @@ static void inia100BuildSCB(ORC_HCS * pHCB, ORC_SCB * pSCB, Scsi_Cmnd * SCpnt)
...
@@ -514,7 +514,7 @@ static void inia100BuildSCB(ORC_HCS * pHCB, ORC_SCB * pSCB, Scsi_Cmnd * SCpnt)
Output : None.
Output : None.
Return : pSRB - Pointer to SCSI request block.
Return : pSRB - Pointer to SCSI request block.
*****************************************************************************/
*****************************************************************************/
int
inia100_queue
(
Scsi_Cmnd
*
SCpnt
,
void
(
*
done
)
(
Scsi_Cmnd
*
))
static
int
inia100_queue
(
Scsi_Cmnd
*
SCpnt
,
void
(
*
done
)
(
Scsi_Cmnd
*
))
{
{
register
ORC_SCB
*
pSCB
;
register
ORC_SCB
*
pSCB
;
ORC_HCS
*
pHCB
;
/* Point to Host adapter control block */
ORC_HCS
*
pHCB
;
/* Point to Host adapter control block */
...
@@ -541,7 +541,7 @@ int inia100_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *))
...
@@ -541,7 +541,7 @@ int inia100_queue(Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *))
Output : None.
Output : None.
Return : pSRB - Pointer to SCSI request block.
Return : pSRB - Pointer to SCSI request block.
*****************************************************************************/
*****************************************************************************/
int
inia100_abort
(
Scsi_Cmnd
*
SCpnt
)
static
int
inia100_abort
(
Scsi_Cmnd
*
SCpnt
)
{
{
ORC_HCS
*
hcsp
;
ORC_HCS
*
hcsp
;
...
@@ -557,15 +557,25 @@ int inia100_abort(Scsi_Cmnd * SCpnt)
...
@@ -557,15 +557,25 @@ int inia100_abort(Scsi_Cmnd * SCpnt)
Output : None.
Output : None.
Return : pSRB - Pointer to SCSI request block.
Return : pSRB - Pointer to SCSI request block.
*****************************************************************************/
*****************************************************************************/
int
inia100_reset
(
Scsi_Cmnd
*
SCpnt
,
unsigned
int
reset_flags
)
static
int
inia100_bus_reset
(
Scsi_Cmnd
*
SCpnt
)
{
/* I need Host Control Block Information */
{
/* I need Host Control Block Information */
ORC_HCS
*
pHCB
;
ORC_HCS
*
pHCB
;
pHCB
=
(
ORC_HCS
*
)
SCpnt
->
host
->
hostdata
;
pHCB
=
(
ORC_HCS
*
)
SCpnt
->
host
->
hostdata
;
if
(
reset_flags
&
(
SCSI_RESET_SUGGEST_BUS_RESET
|
SCSI_RESET_SUGGEST_HOST_RESET
))
return
orc_reset_scsi_bus
(
pHCB
);
return
orc_reset_scsi_bus
(
pHCB
);
else
}
return
orc_device_reset
(
pHCB
,
SCpnt
,
SCpnt
->
target
,
reset_flags
);
/*****************************************************************************
Function name : inia100_device_reset
Description : Reset the device
Input : pHCB - Pointer to host adapter structure
Output : None.
Return : pSRB - Pointer to SCSI request block.
*****************************************************************************/
static
int
inia100_device_reset
(
Scsi_Cmnd
*
SCpnt
)
{
/* I need Host Control Block Information */
ORC_HCS
*
pHCB
;
pHCB
=
(
ORC_HCS
*
)
SCpnt
->
host
->
hostdata
;
return
orc_device_reset
(
pHCB
,
SCpnt
,
SCpnt
->
target
);
}
}
...
@@ -648,41 +658,6 @@ void inia100SCBPost(BYTE * pHcb, BYTE * pScb)
...
@@ -648,41 +658,6 @@ void inia100SCBPost(BYTE * pHcb, BYTE * pScb)
return
;
return
;
}
}
/*****************************************************************************
Function name : inia100_biosparam
Description : Return the "logical geometry"
Input : pHCB - Pointer to host adapter structure
Output : None.
Return : pSRB - Pointer to SCSI request block.
*****************************************************************************/
int
inia100_biosparam
(
struct
scsi_device
*
sdev
,
struct
block_device
*
bdev
,
sector_t
capacity
,
int
*
info_array
)
{
ORC_HCS
*
pHcb
;
/* Point to Host adapter control block */
ORC_TCS
*
pTcb
;
pHcb
=
(
ORC_HCS
*
)
sdev
->
host
->
hostdata
;
pTcb
=
&
pHcb
->
HCS_Tcs
[
sdev
->
id
];
if
(
pTcb
->
TCS_DrvHead
)
{
info_array
[
0
]
=
pTcb
->
TCS_DrvHead
;
info_array
[
1
]
=
pTcb
->
TCS_DrvSector
;
info_array
[
2
]
=
(
unsigned
long
)
capacity
/
pTcb
->
TCS_DrvHead
/
pTcb
->
TCS_DrvSector
;
}
else
{
if
(
pTcb
->
TCS_DrvFlags
&
TCF_DRV_255_63
)
{
info_array
[
0
]
=
255
;
info_array
[
1
]
=
63
;
info_array
[
2
]
=
(
unsigned
long
)
capacity
/
255
/
63
;
}
else
{
info_array
[
0
]
=
64
;
info_array
[
1
]
=
32
;
info_array
[
2
]
=
capacity
>>
11
;
}
}
return
0
;
}
/*
/*
* Interrupt handler (main routine of the driver)
* Interrupt handler (main routine of the driver)
*/
*/
...
@@ -710,7 +685,7 @@ static void inia100_panic(char *msg)
...
@@ -710,7 +685,7 @@ static void inia100_panic(char *msg)
/*
/*
* Release ressources
* Release ressources
*/
*/
int
inia100_release
(
struct
Scsi_Host
*
hreg
)
static
int
inia100_release
(
struct
Scsi_Host
*
hreg
)
{
{
ORC_HCS
*
pHCB
=
(
ORC_HCS
*
)
hreg
->
hostdata
;
ORC_HCS
*
pHCB
=
(
ORC_HCS
*
)
hreg
->
hostdata
;
...
...
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