Commit 1fe62aa7 authored by Andrey Filippov's avatar Andrey Filippov

AHCI driver is finally working with x393_sata AHCI SATA controller

parent e94696c1
...@@ -61,9 +61,10 @@ static int elphel_port_start(struct ata_port *ap) ...@@ -61,9 +61,10 @@ static int elphel_port_start(struct ata_port *ap)
int dbg_i; int dbg_i;
libahci_debug_init(ap->host); libahci_debug_init(ap->host);
dev_info(dev, "starting port %d", ap->port_no); dev_dbg(dev, "starting port %d", ap->port_no);
#ifdef DEBUG_EVENT_ELPHEL
libahci_debug_wait_flag(); libahci_debug_wait_flag();
#endif
pp = devm_kzalloc(dev, sizeof(struct ahci_port_priv), GFP_KERNEL); pp = devm_kzalloc(dev, sizeof(struct ahci_port_priv), GFP_KERNEL);
if (!pp) if (!pp)
return -ENOMEM; return -ENOMEM;
...@@ -98,10 +99,10 @@ address must be aligned to a 128-byte cache line, indicated by bits 06:00 being ...@@ -98,10 +99,10 @@ address must be aligned to a 128-byte cache line, indicated by bits 06:00 being
*/ */
mem_dma = dma_map_single(dev, mem, AHCI_CMD_TBL_AR_SZ, DMA_TO_DEVICE); // maybe DMA_BIDIRECTIONAL, but currently we do not use DMA for received FISes mem_dma = dma_map_single(dev, mem, AHCI_CMD_TBL_AR_SZ, DMA_TO_DEVICE); // maybe DMA_BIDIRECTIONAL, but currently we do not use DMA for received FISes
dev_info(dev, "ahci_elphel.c: dbg_i= 0x%08x, mem= 0x%08x, mem_dma= 0x%08x", dbg_i, (u32) mem, (u32) mem_dma); dev_dbg(dev, "ahci_elphel.c: dbg_i= 0x%08x, mem= 0x%08x, mem_dma= 0x%08x", dbg_i, (u32) mem, (u32) mem_dma);
pp->cmd_tbl = mem + dbg_i; pp->cmd_tbl = mem + dbg_i;
pp->cmd_tbl_dma = mem_dma + dbg_i; pp->cmd_tbl_dma = mem_dma + dbg_i;
dev_info(dev, "ahci_elphel.c: dbg_i= 0x%08x, pp->cmd_tbl= 0x%08x, pp->cmd_tbl_dma= 0x%08x", dbg_i, (u32) pp->cmd_tbl, (u32) pp->cmd_tbl_dma); dev_dbg(dev, "ahci_elphel.c: dbg_i= 0x%08x, pp->cmd_tbl= 0x%08x, pp->cmd_tbl_dma= 0x%08x", dbg_i, (u32) pp->cmd_tbl, (u32) pp->cmd_tbl_dma);
/* /*
* Set predefined addresses * Set predefined addresses
...@@ -134,10 +135,10 @@ address must be aligned to a 128-byte cache line, indicated by bits 06:00 being ...@@ -134,10 +135,10 @@ address must be aligned to a 128-byte cache line, indicated by bits 06:00 being
//libahci_debug_saxigp1_save(ap, 0x3000); //libahci_debug_saxigp1_save(ap, 0x3000);
//libahci_debug_saxigp1_save(ap, 0x3000); //libahci_debug_saxigp1_save(ap, 0x3000);
dev_info(dev, "flags (ATA_FLAG_xxx): %u", ap->flags); dev_dbg(dev, "flags (ATA_FLAG_xxx): %u", ap->flags);
dev_info(dev, "pflags (ATA_PFLAG_xxx): %u", ap->pflags); dev_dbg(dev, "pflags (ATA_PFLAG_xxx): %u", ap->pflags);
dev_info(dev, "ahci_elphel.c: Calling ahci_port_resume()"); dev_dbg(dev, "ahci_elphel.c: Calling ahci_port_resume()");
return ahci_port_resume(ap); return ahci_port_resume(ap);
} }
...@@ -162,7 +163,7 @@ static int elphel_parse_prop(const struct device_node *devn, ...@@ -162,7 +163,7 @@ static int elphel_parse_prop(const struct device_node *devn,
val = of_get_address(devn, 0, NULL, NULL); val = of_get_address(devn, 0, NULL, NULL);
if (val != NULL) { if (val != NULL) {
dpriv->base_addr = be32_to_cpu(val); dpriv->base_addr = be32_to_cpu(val);
dev_info(dev, "base_addr: 0x%08u", dpriv->base_addr); dev_dbg(dev, "base_addr: 0x%08u", dpriv->base_addr);
} else { } else {
dev_err(dev, "can not get register address"); dev_err(dev, "can not get register address");
} }
...@@ -203,15 +204,15 @@ static int elphel_drv_probe(struct platform_device *pdev) ...@@ -203,15 +204,15 @@ static int elphel_drv_probe(struct platform_device *pdev)
hpriv->plat_data = drv_priv; hpriv->plat_data = drv_priv;
reg_val = readl(hpriv->mmio + HOST_CAP); reg_val = readl(hpriv->mmio + HOST_CAP);
dev_info(dev, "HOST CAP register: 0x%08x", reg_val); dev_dbg(dev, "HOST CAP register: 0x%08x", reg_val);
reg_val = readl(hpriv->mmio + HOST_CTL); reg_val = readl(hpriv->mmio + HOST_CTL);
dev_info(dev, "HOST GHC register: 0x%08x", reg_val); dev_dbg(dev, "HOST GHC register: 0x%08x", reg_val);
reg_val = readl(hpriv->mmio + HOST_IRQ_STAT); reg_val = readl(hpriv->mmio + HOST_IRQ_STAT);
dev_info(dev, "HOST IS register: 0x%08x", reg_val); dev_dbg(dev, "HOST IS register: 0x%08x", reg_val);
reg_val = readl(hpriv->mmio + HOST_PORTS_IMPL); reg_val = readl(hpriv->mmio + HOST_PORTS_IMPL);
dev_info(dev, "HOST PI register: 0x%08x", reg_val); dev_dbg(dev, "HOST PI register: 0x%08x", reg_val);
reg_val = readl(hpriv->mmio + HOST_VERSION); reg_val = readl(hpriv->mmio + HOST_VERSION);
dev_info(dev, "HOST VS register: 0x%08x", reg_val); dev_dbg(dev, "HOST VS register: 0x%08x", reg_val);
phys_addr_t paddr = virt_to_phys(hpriv->mmio); phys_addr_t paddr = virt_to_phys(hpriv->mmio);
void *vaddr = phys_to_virt(paddr); void *vaddr = phys_to_virt(paddr);
...@@ -232,7 +233,7 @@ static int elphel_drv_probe(struct platform_device *pdev) ...@@ -232,7 +233,7 @@ static int elphel_drv_probe(struct platform_device *pdev)
ahci_platform_disable_resources(hpriv); ahci_platform_disable_resources(hpriv);
return ret; return ret;
} }
dev_info(dev, "ahci platform host initialized"); dev_dbg(dev, "ahci platform host initialized");
return 0; return 0;
} }
...@@ -257,7 +258,7 @@ static unsigned int elphel_read_id(struct ata_device *dev, struct ata_taskfile * ...@@ -257,7 +258,7 @@ static unsigned int elphel_read_id(struct ata_device *dev, struct ata_taskfile *
if (err_mask) if (err_mask)
return err_mask; return err_mask;
dev_info(d, "elphel_read_id(): issue identify command finished\n"); dev_dbg(d, "elphel_read_id(): issue identify command finished\n");
/*dev_info(d, "dump IDENTIFY:\n"); /*dev_info(d, "dump IDENTIFY:\n");
msg_str = kzalloc(PAGE_SIZE, GFP_KERNEL); msg_str = kzalloc(PAGE_SIZE, GFP_KERNEL);
if (!msg_str) if (!msg_str)
......
This diff is collapsed.
...@@ -745,11 +745,11 @@ unsigned int libahci_debug_state_dump(struct ata_port *ap) ...@@ -745,11 +745,11 @@ unsigned int libahci_debug_state_dump(struct ata_port *ap)
return 0; return 0;
} }
dev_info(dev, "dump page num: %u", page_cntr); dev_dbg(dev, "dump page num: %u", page_cntr);
ptr = page_cntr * DUMP_LEN; ptr = page_cntr * DUMP_LEN;
if (ptr + DUMP_LEN > SEGMENT_SIZE) if (ptr + DUMP_LEN > SEGMENT_SIZE)
ptr = 0; ptr = 0;
dev_info(dev, "current ptr: %u", ptr); dev_dbg(dev, "current ptr: %u", ptr);
for (i = 0; i < GHC_SZ; i++) { for (i = 0; i < GHC_SZ; i++) {
tmp = ioread32(host_mmio + 4 * i); tmp = ioread32(host_mmio + 4 * i);
buf[ptr++] = tmp; buf[ptr++] = tmp;
...@@ -811,7 +811,7 @@ unsigned int libahci_debug_saxigp1_save(struct ata_port *ap, size_t dump_size) ...@@ -811,7 +811,7 @@ unsigned int libahci_debug_saxigp1_save(struct ata_port *ap, size_t dump_size)
} else { } else {
page_cntr = 0; page_cntr = 0;
//bytes_copied = 0; //bytes_copied = 0;
//dev_info(dev, "memory pool has ended, writing from beginning"); //dev_dbg(dev, "memory pool has ended, writing from beginning");
} }
return page_cntr; return page_cntr;
...@@ -820,20 +820,20 @@ EXPORT_SYMBOL_GPL(libahci_debug_saxigp1_save); ...@@ -820,20 +820,20 @@ EXPORT_SYMBOL_GPL(libahci_debug_saxigp1_save);
static void libahci_debug_buff_init(struct device *dev) static void libahci_debug_buff_init(struct device *dev)
{ {
dev_info(dev, "Nothing to allocate - using elphel_buf allocated at startup"); dev_dbg(dev, "Nothing to allocate - using elphel_buf allocated at startup");
/* /*
mem_buff.vaddr = dmam_alloc_coherent(dev, SEGMENT_SIZE, &mem_buff.paddr, GFP_KERNEL); mem_buff.vaddr = dmam_alloc_coherent(dev, SEGMENT_SIZE, &mem_buff.paddr, GFP_KERNEL);
if (!mem_buff.vaddr) if (!mem_buff.vaddr)
dev_err(dev, "unable to allocate memory"); dev_err(dev, "unable to allocate memory");
else else
dev_info(dev, "dump buffer allocated"); dev_dbg(dev, "dump buffer allocated");
*/ */
/* /*
const size_t maxigp1_start = 0x80000000; // start of MAXIGP1 physical address range const size_t maxigp1_start = 0x80000000; // start of MAXIGP1 physical address range
const size_t maxigp1_size = 0x3000; // size of register memory to save const size_t maxigp1_size = 0x3000; // size of register memory to save
*/ */
ioptr = ioremap_nocache(maxigp1_start, maxigp1_size); ioptr = ioremap_nocache(maxigp1_start, maxigp1_size);
dev_info(dev, "Mapped 0x%08x bytes from physical address 0x%08x to 0x%08x", maxigp1_size, maxigp1_start, (size_t) ioptr); dev_dbg(dev, "Mapped 0x%08x bytes from physical address 0x%08x to 0x%08x", maxigp1_size, maxigp1_start, (size_t) ioptr);
page_cntr = 0; page_cntr = 0;
} }
...@@ -902,7 +902,7 @@ int libahci_debug_init_early(struct device *dev) ...@@ -902,7 +902,7 @@ int libahci_debug_init_early(struct device *dev)
dev_err(dev, "unable to allocate mem for early buffer"); dev_err(dev, "unable to allocate mem for early buffer");
return -ENOMEM; return -ENOMEM;
} else { } else {
dev_info(dev, "early buffer allocated"); dev_dbg(dev, "early buffer allocated");
} }
} }
......
...@@ -1564,7 +1564,7 @@ unsigned ata_exec_internal_sg(struct ata_device *dev, ...@@ -1564,7 +1564,7 @@ unsigned ata_exec_internal_sg(struct ata_device *dev,
unsigned long flags; unsigned long flags;
unsigned int err_mask; unsigned int err_mask;
int rc; int rc;
dev_info(ap->host->dev, "libata-core.c:ata_exec_internal_sg() ap->pflags = 0x%x, link->eh_info.action=0x%08x\n",ap->pflags,link->eh_info.action); dev_dbg(ap->host->dev, "libata-core.c:ata_exec_internal_sg() ap->pflags = 0x%x, link->eh_info.action=0x%08x\n",ap->pflags,link->eh_info.action);
spin_lock_irqsave(ap->lock, flags); spin_lock_irqsave(ap->lock, flags);
...@@ -1635,7 +1635,7 @@ unsigned ata_exec_internal_sg(struct ata_device *dev, ...@@ -1635,7 +1635,7 @@ unsigned ata_exec_internal_sg(struct ata_device *dev,
spin_unlock_irqrestore(ap->lock, flags); spin_unlock_irqrestore(ap->lock, flags);
dev_info(ap->host->dev, "libata-core.c:ata_exec_internal_sg(), timeout = 0x%x, qc->err_mask= 0x%08x, qc->flags=0x%08x, link->eh_info.action=0x%08x\n", dev_dbg(ap->host->dev, "libata-core.c:ata_exec_internal_sg(), timeout = 0x%x, qc->err_mask= 0x%08x, qc->flags=0x%08x, link->eh_info.action=0x%08x\n",
timeout, qc->err_mask, qc->flags, link->eh_info.action); timeout, qc->err_mask, qc->flags, link->eh_info.action);
//link->eh_info.action //link->eh_info.action
if (!timeout) { if (!timeout) {
...@@ -1743,7 +1743,7 @@ unsigned ata_exec_internal(struct ata_device *dev, ...@@ -1743,7 +1743,7 @@ unsigned ata_exec_internal(struct ata_device *dev,
{ {
struct scatterlist *psg = NULL, sg; struct scatterlist *psg = NULL, sg;
unsigned int n_elem = 0; unsigned int n_elem = 0;
dev_info(dev->link->ap->host->dev, "libata-core.c ata_exec_internal()"); dev_dbg(dev->link->ap->host->dev, "libata-core.c ata_exec_internal()");
if (dma_dir != DMA_NONE) { if (dma_dir != DMA_NONE) {
WARN_ON(!buf); WARN_ON(!buf);
...@@ -1825,7 +1825,7 @@ static u32 ata_pio_mask_no_iordy(const struct ata_device *adev) ...@@ -1825,7 +1825,7 @@ static u32 ata_pio_mask_no_iordy(const struct ata_device *adev)
unsigned int ata_do_dev_read_id(struct ata_device *dev, unsigned int ata_do_dev_read_id(struct ata_device *dev,
struct ata_taskfile *tf, u16 *id) struct ata_taskfile *tf, u16 *id)
{ {
dev_info(dev->link->ap->host->dev, "libata-core.c ata_do_dev_read_id()"); dev_dbg(dev->link->ap->host->dev, "libata-core.c ata_do_dev_read_id()");
return ata_exec_internal(dev, tf, NULL, DMA_FROM_DEVICE, return ata_exec_internal(dev, tf, NULL, DMA_FROM_DEVICE,
id, sizeof(id[0]) * ATA_ID_WORDS, 0); id, sizeof(id[0]) * ATA_ID_WORDS, 0);
...@@ -4894,12 +4894,12 @@ void ata_qc_complete(struct ata_queued_cmd *qc) ...@@ -4894,12 +4894,12 @@ void ata_qc_complete(struct ata_queued_cmd *qc)
* taken care of. * taken care of.
*/ */
dev_info(&qc->dev->tdev, "%s: qc->dma_dir: %d", __func__, qc->dma_dir); dev_dbg(&qc->dev->tdev, "%s: qc->dma_dir: %d", __func__, qc->dma_dir);
if (qc->dma_dir == DMA_TO_DEVICE) { if (qc->dma_dir == DMA_TO_DEVICE) {
dev_info(&qc->dev->tdev, "%s: dma_sync_sg_for_device, qc->dma_dir: %d", __func__, qc->dma_dir); dev_dbg(&qc->dev->tdev, "%s: dma_sync_sg_for_device, qc->dma_dir: %d", __func__, qc->dma_dir);
dma_sync_sg_for_device(&qc->dev->tdev, qc->sg, qc->n_elem, qc->dma_dir); dma_sync_sg_for_device(&qc->dev->tdev, qc->sg, qc->n_elem, qc->dma_dir);
} else if (qc->dma_dir == DMA_FROM_DEVICE) { } else if (qc->dma_dir == DMA_FROM_DEVICE) {
dev_info(&qc->dev->tdev, "%s: dma_sync_sg_for_cpu, qc->dma_dir: %d", __func__, qc->dma_dir); dev_dbg(&qc->dev->tdev, "%s: dma_sync_sg_for_cpu, qc->dma_dir: %d", __func__, qc->dma_dir);
dma_sync_sg_for_cpu(&qc->dev->tdev, qc->sg, qc->n_elem, qc->dma_dir); dma_sync_sg_for_cpu(&qc->dev->tdev, qc->sg, qc->n_elem, qc->dma_dir);
} }
...@@ -5959,12 +5959,12 @@ int ata_host_start(struct ata_host *host) ...@@ -5959,12 +5959,12 @@ int ata_host_start(struct ata_host *host)
int have_stop = 0; int have_stop = 0;
void *start_dr = NULL; void *start_dr = NULL;
int i, rc; int i, rc;
dev_info(host->ports[0]->host->dev, "libata-core.c ata_host_start(), 0x%08x\n",host->flags); dev_dbg(host->ports[0]->host->dev, "libata-core.c ata_host_start(), 0x%08x\n",host->flags);
if (host->flags & ATA_HOST_STARTED) if (host->flags & ATA_HOST_STARTED)
return 0; return 0;
ata_finalize_port_ops(host->ops); ata_finalize_port_ops(host->ops);
dev_info(host->ports[0]->host->dev, "libata-core.c ata_host_start(): ata_finalize_port_ops() DONE"); dev_dbg(host->ports[0]->host->dev, "libata-core.c ata_host_start(): ata_finalize_port_ops() DONE");
for (i = 0; i < host->n_ports; i++) { for (i = 0; i < host->n_ports; i++) {
struct ata_port *ap = host->ports[i]; struct ata_port *ap = host->ports[i];
...@@ -5986,7 +5986,7 @@ int ata_host_start(struct ata_host *host) ...@@ -5986,7 +5986,7 @@ int ata_host_start(struct ata_host *host)
if (!start_dr) if (!start_dr)
return -ENOMEM; return -ENOMEM;
} }
dev_info(host->ports[0]->host->dev, "libata-core.c ata_host_start(): Checked for 'have stop' = %d",have_stop); dev_dbg(host->ports[0]->host->dev, "libata-core.c ata_host_start(): Checked for 'have stop' = %d",have_stop);
for (i = 0; i < host->n_ports; i++) { for (i = 0; i < host->n_ports; i++) {
struct ata_port *ap = host->ports[i]; struct ata_port *ap = host->ports[i];
...@@ -6002,14 +6002,14 @@ int ata_host_start(struct ata_host *host) ...@@ -6002,14 +6002,14 @@ int ata_host_start(struct ata_host *host)
} }
} }
ata_eh_freeze_port(ap); ata_eh_freeze_port(ap);
dev_info(host->ports[0]->host->dev, "ata_host_start(): freezing port %d",i); dev_dbg(host->ports[0]->host->dev, "ata_host_start(): freezing port %d",i);
} }
if (start_dr) if (start_dr)
devres_add(host->dev, start_dr); devres_add(host->dev, start_dr);
host->flags |= ATA_HOST_STARTED; host->flags |= ATA_HOST_STARTED;
dev_info(host->ports[0]->host->dev, "ata_host_start() OK, host->flags = 0x%08x",host->flags); dev_dbg(host->ports[0]->host->dev, "ata_host_start() OK, host->flags = 0x%08x",host->flags);
return 0; return 0;
err_out: err_out:
...@@ -6019,7 +6019,7 @@ int ata_host_start(struct ata_host *host) ...@@ -6019,7 +6019,7 @@ int ata_host_start(struct ata_host *host)
if (ap->ops->port_stop) if (ap->ops->port_stop)
ap->ops->port_stop(ap); ap->ops->port_stop(ap);
} }
dev_info(host->ports[0]->host->dev, "ata_host_start() err_out, host->flags = 0x%08x (called port_stop)",host->flags); dev_dbg(host->ports[0]->host->dev, "ata_host_start() err_out, host->flags = 0x%08x (called port_stop)",host->flags);
devres_free(start_dr); devres_free(start_dr);
return rc; return rc;
} }
......
...@@ -623,7 +623,7 @@ void ata_scsi_error(struct Scsi_Host *host) ...@@ -623,7 +623,7 @@ void ata_scsi_error(struct Scsi_Host *host)
void ata_scsi_cmd_error_handler(struct Scsi_Host *host, struct ata_port *ap, void ata_scsi_cmd_error_handler(struct Scsi_Host *host, struct ata_port *ap,
struct list_head *eh_work_q) struct list_head *eh_work_q)
{ {
dev_info(ap->host->dev, "ata_scsi_cmd_error_handler()\n"); dev_dbg(ap->host->dev, "ata_scsi_cmd_error_handler()\n");
int i; int i;
unsigned long flags; unsigned long flags;
...@@ -1125,7 +1125,7 @@ int ata_port_abort(struct ata_port *ap) ...@@ -1125,7 +1125,7 @@ int ata_port_abort(struct ata_port *ap)
static void __ata_port_freeze(struct ata_port *ap) static void __ata_port_freeze(struct ata_port *ap)
{ {
WARN_ON(!ap->ops->error_handler); WARN_ON(!ap->ops->error_handler);
dev_info(ap->host->dev, "__ata_port_freeze()\n"); dev_dbg(ap->host->dev, "__ata_port_freeze()\n");
if (ap->ops->freeze) if (ap->ops->freeze)
ap->ops->freeze(ap); ap->ops->freeze(ap);
...@@ -1154,7 +1154,7 @@ int ata_port_freeze(struct ata_port *ap) ...@@ -1154,7 +1154,7 @@ int ata_port_freeze(struct ata_port *ap)
int nr_aborted; int nr_aborted;
WARN_ON(!ap->ops->error_handler); WARN_ON(!ap->ops->error_handler);
dev_info(ap->host->dev, "libata-eh.c: ahci_port_freeze()\n"); dev_dbg(ap->host->dev, "libata-eh.c: ahci_port_freeze()\n");
__ata_port_freeze(ap); __ata_port_freeze(ap);
nr_aborted = ata_port_abort(ap); nr_aborted = ata_port_abort(ap);
...@@ -1248,7 +1248,7 @@ void ata_eh_freeze_port(struct ata_port *ap) ...@@ -1248,7 +1248,7 @@ void ata_eh_freeze_port(struct ata_port *ap)
{ {
unsigned long flags; unsigned long flags;
dev_info(ap->host->dev, "ata_eh_freeze_port()\n"); dev_dbg(ap->host->dev, "ata_eh_freeze_port()\n");
if (!ap->ops->error_handler) if (!ap->ops->error_handler)
return; return;
spin_lock_irqsave(ap->lock, flags); spin_lock_irqsave(ap->lock, flags);
...@@ -1736,7 +1736,7 @@ void ata_eh_analyze_ncq_error(struct ata_link *link) ...@@ -1736,7 +1736,7 @@ void ata_eh_analyze_ncq_error(struct ata_link *link)
struct ata_taskfile tf; struct ata_taskfile tf;
int tag, rc; int tag, rc;
dev_info(link->ap->host->dev, "libata-core.c ata_eh_analyze_ncq_error(), ap->pflags = 0x%08x",ap->pflags); dev_dbg(link->ap->host->dev, "libata-core.c ata_eh_analyze_ncq_error(), ap->pflags = 0x%08x",ap->pflags);
/* if frozen, we can't do much */ /* if frozen, we can't do much */
if (ap->pflags & ATA_PFLAG_FROZEN) if (ap->pflags & ATA_PFLAG_FROZEN)
...@@ -2129,7 +2129,7 @@ static void ata_eh_link_autopsy(struct ata_link *link) ...@@ -2129,7 +2129,7 @@ static void ata_eh_link_autopsy(struct ata_link *link)
int tag; int tag;
u32 serror; u32 serror;
int rc; int rc;
dev_info(link->ap->host->dev, "libata-core.c ata_eh_link_autopsy(), ehc->i.flags = 0x%08x, ehc->i.probe_mask = 0x%08x, ehc->i.action = 0x%08x, ehc->i.err_mask = 0x%08x,", dev_dbg(link->ap->host->dev, "libata-core.c ata_eh_link_autopsy(), ehc->i.flags = 0x%08x, ehc->i.probe_mask = 0x%08x, ehc->i.action = 0x%08x, ehc->i.err_mask = 0x%08x,",
ehc->i.flags,ehc->i.probe_mask, ehc->i.action, ehc->i.err_mask); ehc->i.flags,ehc->i.probe_mask, ehc->i.action, ehc->i.err_mask);
DPRINTK("ENTER\n"); DPRINTK("ENTER\n");
...@@ -2148,7 +2148,7 @@ static void ata_eh_link_autopsy(struct ata_link *link) ...@@ -2148,7 +2148,7 @@ static void ata_eh_link_autopsy(struct ata_link *link)
ehc->i.action |= ATA_EH_RESET; ehc->i.action |= ATA_EH_RESET;
ehc->i.err_mask |= AC_ERR_OTHER; ehc->i.err_mask |= AC_ERR_OTHER;
} }
dev_info(link->ap->host->dev, "libata-core.c ata_eh_link_autopsy(), rc = 0x%08x, ehc->i.probe_mask = 0x%08x, ehc->i.action = 0x%08x, ehc->i.err_mask = 0x%08x,", dev_dbg(link->ap->host->dev, "libata-core.c ata_eh_link_autopsy(), rc = 0x%08x, ehc->i.probe_mask = 0x%08x, ehc->i.action = 0x%08x, ehc->i.err_mask = 0x%08x,",
rc, ehc->i.probe_mask, ehc->i.action, ehc->i.err_mask); rc, ehc->i.probe_mask, ehc->i.action, ehc->i.err_mask);
/* analyze NCQ failure */ /* analyze NCQ failure */
...@@ -2160,7 +2160,7 @@ static void ata_eh_link_autopsy(struct ata_link *link) ...@@ -2160,7 +2160,7 @@ static void ata_eh_link_autopsy(struct ata_link *link)
all_err_mask |= ehc->i.err_mask; all_err_mask |= ehc->i.err_mask;
dev_info(link->ap->host->dev, "libata-core.c ata_eh_link_autopsy(), ehc->i.err_mask = 0x%08x, all_err_mask = 0x%08x", dev_dbg(link->ap->host->dev, "libata-core.c ata_eh_link_autopsy(), ehc->i.err_mask = 0x%08x, all_err_mask = 0x%08x",
ehc->i.err_mask,all_err_mask); ehc->i.err_mask,all_err_mask);
for (tag = 0; tag < ATA_MAX_QUEUE; tag++) { for (tag = 0; tag < ATA_MAX_QUEUE; tag++) {
...@@ -2199,7 +2199,7 @@ static void ata_eh_link_autopsy(struct ata_link *link) ...@@ -2199,7 +2199,7 @@ static void ata_eh_link_autopsy(struct ata_link *link)
if (qc->flags & ATA_QCFLAG_IO) if (qc->flags & ATA_QCFLAG_IO)
eflags |= ATA_EFLAG_IS_IO; eflags |= ATA_EFLAG_IS_IO;
} }
dev_info(link->ap->host->dev, "libata-core.c ata_eh_link_autopsy(), all_err_mask = 0x%08x", all_err_mask); dev_dbg(link->ap->host->dev, "libata-core.c ata_eh_link_autopsy(), all_err_mask = 0x%08x", all_err_mask);
/* enforce default EH actions */ /* enforce default EH actions */
if (ap->pflags & ATA_PFLAG_FROZEN || if (ap->pflags & ATA_PFLAG_FROZEN ||
...@@ -2233,7 +2233,7 @@ static void ata_eh_link_autopsy(struct ata_link *link) ...@@ -2233,7 +2233,7 @@ static void ata_eh_link_autopsy(struct ata_link *link)
eflags |= ATA_EFLAG_DUBIOUS_XFER; eflags |= ATA_EFLAG_DUBIOUS_XFER;
ehc->i.action |= ata_eh_speed_down(dev, eflags, all_err_mask); ehc->i.action |= ata_eh_speed_down(dev, eflags, all_err_mask);
} }
dev_info(link->ap->host->dev, "libata-core.c ata_eh_link_autopsy(), conclusion what to do: ehc->i.action = 0x%08x", ehc->i.action); dev_dbg(link->ap->host->dev, "libata-core.c ata_eh_link_autopsy(), conclusion what to do: ehc->i.action = 0x%08x", ehc->i.action);
DPRINTK("EXIT\n"); DPRINTK("EXIT\n");
} }
...@@ -2251,7 +2251,7 @@ static void ata_eh_link_autopsy(struct ata_link *link) ...@@ -2251,7 +2251,7 @@ static void ata_eh_link_autopsy(struct ata_link *link)
void ata_eh_autopsy(struct ata_port *ap) void ata_eh_autopsy(struct ata_port *ap)
{ {
struct ata_link *link; struct ata_link *link;
dev_info(ap->host->dev, "libata-core.c ata_eh_autopsy()"); dev_dbg(ap->host->dev, "libata-core.c ata_eh_autopsy()");
ata_for_each_link(link, ap, EDGE) ata_for_each_link(link, ap, EDGE)
ata_eh_link_autopsy(link); ata_eh_link_autopsy(link);
...@@ -2647,7 +2647,7 @@ int ata_eh_reset(struct ata_link *link, int classify, ...@@ -2647,7 +2647,7 @@ int ata_eh_reset(struct ata_link *link, int classify,
u32 sstatus; u32 sstatus;
int nr_unknown, rc; int nr_unknown, rc;
dev_info(ap->host->dev, "ata_eh_reset(), link->flags = 0x%08x\n",link->flags); dev_dbg(ap->host->dev, "ata_eh_reset(), link->flags = 0x%08x\n",link->flags);
/* /*
* Prepare to reset * Prepare to reset
...@@ -3733,7 +3733,7 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset, ...@@ -3733,7 +3733,7 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
ata_for_each_link(link, ap, EDGE) { ata_for_each_link(link, ap, EDGE) {
struct ata_eh_context *ehc = &link->eh_context; struct ata_eh_context *ehc = &link->eh_context;
dev_info(ap->host->dev, "ata_eh_recover(), ehc->i.action=0x%08x\n",ehc->i.action); dev_dbg(ap->host->dev, "ata_eh_recover(), ehc->i.action=0x%08x\n",ehc->i.action);
/* re-enable link? */ /* re-enable link? */
if (ehc->i.action & ATA_EH_ENABLE_LINK) { if (ehc->i.action & ATA_EH_ENABLE_LINK) {
...@@ -3745,7 +3745,7 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset, ...@@ -3745,7 +3745,7 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
} }
ata_for_each_dev(dev, link, ALL) { ata_for_each_dev(dev, link, ALL) {
dev_info(ap->host->dev, "ata_eh_recover(), link->flags=0x%08x\n",link->flags); dev_dbg(ap->host->dev, "ata_eh_recover(), link->flags=0x%08x\n",link->flags);
if (link->flags & ATA_LFLAG_NO_RETRY) if (link->flags & ATA_LFLAG_NO_RETRY)
ehc->tries[dev->devno] = 1; ehc->tries[dev->devno] = 1;
else else
...@@ -4009,7 +4009,7 @@ void ata_do_eh(struct ata_port *ap, ata_prereset_fn_t prereset, ...@@ -4009,7 +4009,7 @@ void ata_do_eh(struct ata_port *ap, ata_prereset_fn_t prereset,
{ {
struct ata_device *dev; struct ata_device *dev;
int rc; int rc;
dev_info(ap->host->dev, "libata-eh.c ata_do_eh()"); dev_dbg(ap->host->dev, "libata-eh.c ata_do_eh()");
ata_eh_autopsy(ap); ata_eh_autopsy(ap);
ata_eh_report(ap); ata_eh_report(ap);
...@@ -4041,7 +4041,7 @@ void ata_std_error_handler(struct ata_port *ap) ...@@ -4041,7 +4041,7 @@ void ata_std_error_handler(struct ata_port *ap)
/* ignore built-in hardreset if SCR access is not available */ /* ignore built-in hardreset if SCR access is not available */
if (hardreset == sata_std_hardreset && !sata_scr_valid(&ap->link)) if (hardreset == sata_std_hardreset && !sata_scr_valid(&ap->link))
hardreset = NULL; hardreset = NULL;
dev_info(ap->host->dev, "libata-eh.c ata_std_error_handler()"); dev_dbg(ap->host->dev, "libata-eh.c ata_std_error_handler()");
ata_do_eh(ap, ops->prereset, ops->softreset, hardreset, ops->postreset); ata_do_eh(ap, ops->prereset, ops->softreset, hardreset, ops->postreset);
} }
...@@ -4060,7 +4060,7 @@ static void ata_eh_handle_port_suspend(struct ata_port *ap) ...@@ -4060,7 +4060,7 @@ static void ata_eh_handle_port_suspend(struct ata_port *ap)
unsigned long flags; unsigned long flags;
int rc = 0; int rc = 0;
struct ata_device *dev; struct ata_device *dev;
dev_info(ap->host->dev, "ata_eh_handle_port_suspend()\n"); dev_dbg(ap->host->dev, "ata_eh_handle_port_suspend()\n");
/* are we suspending? */ /* are we suspending? */
spin_lock_irqsave(ap->lock, flags); spin_lock_irqsave(ap->lock, flags);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment