mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
![Alexander Shiyan](/assets/img/avatar_default.png)
In some cases, the system bus can be configured for 16-bit mode, in this case using read/write functions for 32-bit values results in two cycles of 16 bits each, which is wrong. This patch adds the devicetree flag to switch the driver to use 16-bit mode for I/O transfers. Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Jens Axboe <axboe@kernel.dk>
32 lines
749 B
C
32 lines
749 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __LINUX_ATA_PLATFORM_H
|
|
#define __LINUX_ATA_PLATFORM_H
|
|
|
|
struct pata_platform_info {
|
|
/*
|
|
* I/O port shift, for platforms with ports that are
|
|
* constantly spaced and need larger than the 1-byte
|
|
* spacing used by ata_std_ports().
|
|
*/
|
|
unsigned int ioport_shift;
|
|
};
|
|
|
|
struct scsi_host_template;
|
|
|
|
extern int __pata_platform_probe(struct device *dev,
|
|
struct resource *io_res,
|
|
struct resource *ctl_res,
|
|
struct resource *irq_res,
|
|
unsigned int ioport_shift,
|
|
int __pio_mask,
|
|
struct scsi_host_template *sht,
|
|
bool use16bit);
|
|
|
|
/*
|
|
* Marvell SATA private data
|
|
*/
|
|
struct mv_sata_platform_data {
|
|
int n_ports; /* number of sata ports */
|
|
};
|
|
|
|
#endif /* __LINUX_ATA_PLATFORM_H */
|