[#6514] Packing flag not supported in EPPI
Submitted By: Marius Kotsbak
Open Date
2011-03-29 09:25:40 Close Date
2011-03-30 20:27:19
Priority:
Medium Assignee:
Nobody
Status:
Closed Fixed In Release:
N/A
Found In Release:
2010R1-RC5 Release:
Category:
Drivers Board:
Bluetechnix CM
Processor:
BF548 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
09r1-11
App binary format:
N/A
Summary: Packing flag not supported in EPPI
Details:
The code is now:
case CMD_PPI_PACKING:
pr_debug("ppi_ioctl: CMD_PPI_PACKING\n");
regdata = dev->regs->ppi_control;
if (arg) {
#if defined(PPI_CONTROL) || defined(PPI0_CONTROL)
/*
* The PACK_EN bit only has meaning when the PPI port width (selected by
* DLEN[2:0]) is 8 bits
*/
if (conf->data_len > CFG_PPI_DATALEN_8) {
pr_err("ppi_ioctl: CMD_PPI_PACKING"
"PACKING can't work while PPI port width isn't 8\n");
goto err_inval;
}
regdata |= PACK_EN;
pr_debug("ppi_ioctl: CMD_PPI_PACKING packing enable\n");
#endif
} else {
regdata &= ~PACK_EN;
pr_debug("ppi_ioctl: CMD_PPI_PACKING packing disable\n");
}
conf->ppi_control = regdata;
conf->pack_mode = !!arg;
dev->regs->ppi_control = regdata;
break;
The check on #if defined(PPI_CONTROL) || defined(PPI0_CONTROL) probably silently ignores EPPI (EPPI0_CONTROL defined instead).
There probably should be added some extra checks to see if packing is possible.
Follow-ups
--- Marius Kotsbak 2011-03-30 07:37:23
Added patch which should solve this problem.
--- Mike Frysinger 2011-03-30 20:27:19
well, not entirely correct, but not your fault. this driver needs an
overhaul/gutting to get rid of a lot of the ifdef logic so it properly supports
EPPI2 and such.
so, good enough for now, and ive committed to svn. thanks !
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
0001-Added-support-for-packing-with-EPPI-in-bfin_ppi.patch text/x-patch 1856 Marius Kotsbak