@@ -42,7 +42,15 @@ static void bpck6_write_block(struct pi_adapter *pi, char *buf, int len)
static void bpck6_read_block(struct pi_adapter *pi, char *buf, int len)
{
- ppc6_rd_port16_blk(pi, ATA_REG_DATA, buf, (u32)len>>1);
+ ppc6_send_cmd(pi, REG_BLKSIZE | ACCESS_REG | ACCESS_WRITE);
+ ppc6_wr_data_byte(pi, (u8)len);
+ ppc6_wr_data_byte(pi, (u8)(len >> 8));
+ ppc6_wr_data_byte(pi, 0);
+
+ ppc6_send_cmd(pi, CMD_PREFIX_SET | PREFIX_IO16 | PREFIX_BLK);
+ ppc6_send_cmd(pi, ATA_REG_DATA | ACCESS_PORT | ACCESS_READ);
+ ppc6_rd_data_blk(pi, buf, len);
+ ppc6_send_cmd(pi, CMD_PREFIX_RESET | PREFIX_IO16 | PREFIX_BLK);
}
static void bpck6_connect(struct pi_adapter *pi)
@@ -75,7 +75,6 @@ static u8 ppc6_rd_data_byte(struct pi_adapter *pi);
static void ppc6_rd_data_blk(struct pi_adapter *pi, u8 *data, long count);
static void ppc6_wait_for_fifo(struct pi_adapter *pi);
static void ppc6_wr_data_blk(struct pi_adapter *pi, u8 *data, long count);
-static void ppc6_rd_port16_blk(struct pi_adapter *pi, u8 port, u8 *data, long length);
static void ppc6_wr_port16_blk(struct pi_adapter *pi, u8 port, u8 *data, long length);
static void ppc6_wr_extout(struct pi_adapter *pi, u8 regdata);
static int ppc6_open(struct pi_adapter *pi);
@@ -479,26 +478,6 @@ static void ppc6_wr_data_blk(struct pi_adapter *pi, u8 *data, long count)
//***************************************************************************
-static void ppc6_rd_port16_blk(struct pi_adapter *pi, u8 port, u8 *data, long length)
-{
- length = length << 1;
-
- ppc6_send_cmd(pi, REG_BLKSIZE | ACCESS_REG | ACCESS_WRITE);
- ppc6_wr_data_byte(pi, (u8)length);
- ppc6_wr_data_byte(pi, (u8)(length >> 8));
- ppc6_wr_data_byte(pi, 0);
-
- ppc6_send_cmd(pi, CMD_PREFIX_SET | PREFIX_IO16 | PREFIX_BLK);
-
- ppc6_send_cmd(pi, port | ACCESS_PORT | ACCESS_READ);
-
- ppc6_rd_data_blk(pi, data, length);
-
- ppc6_send_cmd(pi, CMD_PREFIX_RESET | PREFIX_IO16 | PREFIX_BLK);
-}
-
-//***************************************************************************
-
static void ppc6_wr_port16_blk(struct pi_adapter *pi, u8 port, u8 *data, long length)
{
length = length << 1;