ata: pata_parport-bpck6: move ppc6_send_cmd to bpck6.c and rename

Move ppc6_send_cmd to bpck6.c and rename it to bpck6_send_cmd

Signed-off-by: Ondrej Zary <linux@zary.sk>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
This commit is contained in:
Ondrej Zary 2023-03-07 23:46:22 +01:00 committed by Damien Le Moal
parent 82e16f824e
commit b04062789d
2 changed files with 33 additions and 44 deletions

View File

@ -19,11 +19,29 @@
#include "pata_parport.h" #include "pata_parport.h"
#include "ppc6lnx.c" #include "ppc6lnx.c"
static void bpck6_send_cmd(struct pi_adapter *pi, u8 cmd)
{
switch (mode_map[pi->mode]) {
case PPCMODE_UNI_SW:
case PPCMODE_UNI_FW:
case PPCMODE_BI_SW:
case PPCMODE_BI_FW:
parport_write_data(pi->pardev->port, cmd);
parport_frob_control(pi->pardev->port, 0, PARPORT_CONTROL_AUTOFD);
break;
case PPCMODE_EPP_BYTE:
case PPCMODE_EPP_WORD:
case PPCMODE_EPP_DWORD:
pi->pardev->port->ops->epp_write_addr(pi->pardev->port, &cmd, 1, 0);
break;
}
}
static int bpck6_read_regr(struct pi_adapter *pi, int cont, int reg) static int bpck6_read_regr(struct pi_adapter *pi, int cont, int reg)
{ {
u8 port = cont ? reg | 8 : reg; u8 port = cont ? reg | 8 : reg;
ppc6_send_cmd(pi, port | ACCESS_PORT | ACCESS_READ); bpck6_send_cmd(pi, port | ACCESS_PORT | ACCESS_READ);
return ppc6_rd_data_byte(pi); return ppc6_rd_data_byte(pi);
} }
@ -31,7 +49,7 @@ static void bpck6_write_regr(struct pi_adapter *pi, int cont, int reg, int val)
{ {
u8 port = cont ? reg | 8 : reg; u8 port = cont ? reg | 8 : reg;
ppc6_send_cmd(pi, port | ACCESS_PORT | ACCESS_WRITE); bpck6_send_cmd(pi, port | ACCESS_PORT | ACCESS_WRITE);
ppc6_wr_data_byte(pi, val); ppc6_wr_data_byte(pi, val);
} }
@ -49,13 +67,13 @@ static void bpck6_write_block(struct pi_adapter *pi, char *buf, int len)
{ {
u8 this, last; u8 this, last;
ppc6_send_cmd(pi, REG_BLKSIZE | ACCESS_REG | ACCESS_WRITE); bpck6_send_cmd(pi, REG_BLKSIZE | ACCESS_REG | ACCESS_WRITE);
ppc6_wr_data_byte(pi, (u8)len); ppc6_wr_data_byte(pi, (u8)len);
ppc6_wr_data_byte(pi, (u8)(len >> 8)); ppc6_wr_data_byte(pi, (u8)(len >> 8));
ppc6_wr_data_byte(pi, 0); ppc6_wr_data_byte(pi, 0);
ppc6_send_cmd(pi, CMD_PREFIX_SET | PREFIX_IO16 | PREFIX_BLK); bpck6_send_cmd(pi, CMD_PREFIX_SET | PREFIX_IO16 | PREFIX_BLK);
ppc6_send_cmd(pi, ATA_REG_DATA | ACCESS_PORT | ACCESS_WRITE); bpck6_send_cmd(pi, ATA_REG_DATA | ACCESS_PORT | ACCESS_WRITE);
switch (mode_map[pi->mode]) { switch (mode_map[pi->mode]) {
case PPCMODE_UNI_SW: case PPCMODE_UNI_SW:
@ -68,7 +86,7 @@ static void bpck6_write_block(struct pi_adapter *pi, char *buf, int len)
break; break;
case PPCMODE_UNI_FW: case PPCMODE_UNI_FW:
case PPCMODE_BI_FW: case PPCMODE_BI_FW:
ppc6_send_cmd(pi, CMD_PREFIX_SET | PREFIX_FASTWR); bpck6_send_cmd(pi, CMD_PREFIX_SET | PREFIX_FASTWR);
parport_frob_control(pi->pardev->port, PARPORT_CONTROL_STROBE, parport_frob_control(pi->pardev->port, PARPORT_CONTROL_STROBE,
PARPORT_CONTROL_STROBE); PARPORT_CONTROL_STROBE);
@ -92,7 +110,7 @@ static void bpck6_write_block(struct pi_adapter *pi, char *buf, int len)
parport_frob_control(pi->pardev->port, PARPORT_CONTROL_STROBE, parport_frob_control(pi->pardev->port, PARPORT_CONTROL_STROBE,
0); 0);
ppc6_send_cmd(pi, CMD_PREFIX_RESET | PREFIX_FASTWR); bpck6_send_cmd(pi, CMD_PREFIX_RESET | PREFIX_FASTWR);
break; break;
case PPCMODE_EPP_BYTE: case PPCMODE_EPP_BYTE:
pi->pardev->port->ops->epp_write_data(pi->pardev->port, buf, pi->pardev->port->ops->epp_write_data(pi->pardev->port, buf,
@ -111,18 +129,18 @@ static void bpck6_write_block(struct pi_adapter *pi, char *buf, int len)
break; break;
} }
ppc6_send_cmd(pi, CMD_PREFIX_RESET | PREFIX_IO16 | PREFIX_BLK); bpck6_send_cmd(pi, CMD_PREFIX_RESET | PREFIX_IO16 | PREFIX_BLK);
} }
static void bpck6_read_block(struct pi_adapter *pi, char *buf, int len) static void bpck6_read_block(struct pi_adapter *pi, char *buf, int len)
{ {
ppc6_send_cmd(pi, REG_BLKSIZE | ACCESS_REG | ACCESS_WRITE); bpck6_send_cmd(pi, REG_BLKSIZE | ACCESS_REG | ACCESS_WRITE);
ppc6_wr_data_byte(pi, (u8)len); ppc6_wr_data_byte(pi, (u8)len);
ppc6_wr_data_byte(pi, (u8)(len >> 8)); ppc6_wr_data_byte(pi, (u8)(len >> 8));
ppc6_wr_data_byte(pi, 0); ppc6_wr_data_byte(pi, 0);
ppc6_send_cmd(pi, CMD_PREFIX_SET | PREFIX_IO16 | PREFIX_BLK); bpck6_send_cmd(pi, CMD_PREFIX_SET | PREFIX_IO16 | PREFIX_BLK);
ppc6_send_cmd(pi, ATA_REG_DATA | ACCESS_PORT | ACCESS_READ); bpck6_send_cmd(pi, ATA_REG_DATA | ACCESS_PORT | ACCESS_READ);
switch (mode_map[pi->mode]) { switch (mode_map[pi->mode]) {
case PPCMODE_UNI_SW: case PPCMODE_UNI_SW:
@ -171,7 +189,7 @@ static void bpck6_read_block(struct pi_adapter *pi, char *buf, int len)
break; break;
} }
ppc6_send_cmd(pi, CMD_PREFIX_RESET | PREFIX_IO16 | PREFIX_BLK); bpck6_send_cmd(pi, CMD_PREFIX_RESET | PREFIX_IO16 | PREFIX_BLK);
} }
static int bpck6_open(struct pi_adapter *pi) static int bpck6_open(struct pi_adapter *pi)
@ -218,10 +236,10 @@ static int bpck6_open(struct pi_adapter *pi)
pi->private = 0; pi->private = 0;
ppc6_send_cmd(pi, ACCESS_REG | ACCESS_WRITE | REG_RAMSIZE); bpck6_send_cmd(pi, ACCESS_REG | ACCESS_WRITE | REG_RAMSIZE);
ppc6_wr_data_byte(pi, RAMSIZE_128K); ppc6_wr_data_byte(pi, RAMSIZE_128K);
ppc6_send_cmd(pi, ACCESS_REG | ACCESS_READ | REG_VERSION); bpck6_send_cmd(pi, ACCESS_REG | ACCESS_READ | REG_VERSION);
if ((ppc6_rd_data_byte(pi) & 0x3F) == 0x0C) if ((ppc6_rd_data_byte(pi) & 0x3F) == 0x0C)
pi->private |= fifo_wait; pi->private |= fifo_wait;
@ -252,7 +270,7 @@ static void bpck6_deselect(struct pi_adapter *pi)
static void bpck6_wr_extout(struct pi_adapter *pi, u8 regdata) static void bpck6_wr_extout(struct pi_adapter *pi, u8 regdata)
{ {
ppc6_send_cmd(pi, REG_VERSION | ACCESS_REG | ACCESS_WRITE); bpck6_send_cmd(pi, REG_VERSION | ACCESS_REG | ACCESS_WRITE);
ppc6_wr_data_byte(pi, (u8)((regdata & 0x03) << 6)); ppc6_wr_data_byte(pi, (u8)((regdata & 0x03) << 6));
} }

View File

@ -67,7 +67,6 @@
//*************************************************************************** //***************************************************************************
static void ppc6_send_cmd(struct pi_adapter *pi, u8 cmd);
static void ppc6_wr_data_byte(struct pi_adapter *pi, u8 data); static void ppc6_wr_data_byte(struct pi_adapter *pi, u8 data);
static u8 ppc6_rd_data_byte(struct pi_adapter *pi); static u8 ppc6_rd_data_byte(struct pi_adapter *pi);
@ -78,34 +77,6 @@ int mode_map[] = { PPCMODE_UNI_FW, PPCMODE_BI_FW, PPCMODE_EPP_BYTE,
//*************************************************************************** //***************************************************************************
static void ppc6_send_cmd(struct pi_adapter *pi, u8 cmd)
{
switch (mode_map[pi->mode])
{
case PPCMODE_UNI_SW :
case PPCMODE_UNI_FW :
case PPCMODE_BI_SW :
case PPCMODE_BI_FW :
{
parport_write_data(pi->pardev->port, cmd);
parport_frob_control(pi->pardev->port, 0, PARPORT_CONTROL_AUTOFD);
break;
}
case PPCMODE_EPP_BYTE :
case PPCMODE_EPP_WORD :
case PPCMODE_EPP_DWORD :
{
pi->pardev->port->ops->epp_write_addr(pi->pardev->port, &cmd, 1, 0);
break;
}
}
}
//***************************************************************************
static void ppc6_wr_data_byte(struct pi_adapter *pi, u8 data) static void ppc6_wr_data_byte(struct pi_adapter *pi, u8 data)
{ {
switch (mode_map[pi->mode]) switch (mode_map[pi->mode])