mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

1) ata.h has dst_pa in the wrong place (needs to match what the BestComm task microcode in bcom_ata_task.c expects); fix it. 2) The BestComm ATA task priority was changed to maximum in bestcomm_priv.h; this fixes a deadlock issue experienced with heavy DMA occurring on both the ATA and Ethernet BestComm tasks, e.g. when downloading a large file over a LAN to disk. Signed-off-by: Tim Yamin <plasm@roo.me.uk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
37 lines
738 B
C
37 lines
738 B
C
/*
|
|
* Header for Bestcomm ATA task driver
|
|
*
|
|
*
|
|
* Copyright (C) 2006 Freescale - John Rigby
|
|
* Copyright (C) 2006 Sylvain Munaut <tnt@246tNt.com>
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public License
|
|
* version 2. This program is licensed "as is" without any warranty of any
|
|
* kind, whether express or implied.
|
|
*/
|
|
|
|
#ifndef __BESTCOMM_ATA_H__
|
|
#define __BESTCOMM_ATA_H__
|
|
|
|
|
|
struct bcom_ata_bd {
|
|
u32 status;
|
|
u32 src_pa;
|
|
u32 dst_pa;
|
|
};
|
|
|
|
extern struct bcom_task *
|
|
bcom_ata_init(int queue_len, int maxbufsize);
|
|
|
|
extern void
|
|
bcom_ata_rx_prepare(struct bcom_task *tsk);
|
|
|
|
extern void
|
|
bcom_ata_tx_prepare(struct bcom_task *tsk);
|
|
|
|
extern void
|
|
bcom_ata_reset_bd(struct bcom_task *tsk);
|
|
|
|
|
|
#endif /* __BESTCOMM_ATA_H__ */
|
|
|