[jirislaby:devel 11/38] drivers/tty/serial/cpm_uart/cpm_uart_core.c:503:52: error: no member named 'low_latency' in 'struct tty_port'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git devel
head: 698e3a58826090599c520290c429d0314cd62e19
commit: 51878b6de4959a889168784499d8d60c498b3ad7 [11/38] tty_port: drop low_latency
config: powerpc-randconfig-r024-20201215 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a29ecca7819a6ed4250d3689b12b1f664bb790d7)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commi...
git remote add jirislaby https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git
git fetch --no-tags jirislaby devel
git checkout 51878b6de4959a889168784499d8d60c498b3ad7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/tty/serial/cpm_uart/cpm_uart_core.c:503:52: error: no member named 'low_latency' in 'struct tty_port'
(pinfo->port.state && pinfo->port.state->port.low_latency))
~~~~~~~~~~~~~~~~~~~~~~~ ^
1 error generated.
vim +503 drivers/tty/serial/cpm_uart/cpm_uart_core.c
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 484
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 485 static void cpm_uart_set_termios(struct uart_port *port,
1bda8f3056126cc drivers/serial/cpm_uart/cpm_uart_core.c Scott Wood 2007-05-08 486 struct ktermios *termios,
1bda8f3056126cc drivers/serial/cpm_uart/cpm_uart_core.c Scott Wood 2007-05-08 487 struct ktermios *old)
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 488 {
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 489 int baud;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 490 unsigned long flags;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 491 u16 cval, scval, prev_mode;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 492 int bits, sbits;
e789d2688720dba drivers/tty/serial/cpm_uart/cpm_uart_core.c Fabian Frederick 2014-10-05 493 struct uart_cpm_port *pinfo =
e789d2688720dba drivers/tty/serial/cpm_uart/cpm_uart_core.c Fabian Frederick 2014-10-05 494 container_of(port, struct uart_cpm_port, port);
c1dcfd9d199043f drivers/serial/cpm_uart/cpm_uart_core.c Scott Wood 2007-07-24 495 smc_t __iomem *smcp = pinfo->smcp;
c1dcfd9d199043f drivers/serial/cpm_uart/cpm_uart_core.c Scott Wood 2007-07-24 496 scc_t __iomem *sccp = pinfo->sccp;
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 497 int maxidl;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 498
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 499 pr_debug("CPM uart[%d]:set_termios\n", port->line);
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 500
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 501 baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk / 16);
59733ef7e510f6f drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 502 if (baud < HW_BUF_SPD_THRESHOLD ||
d6c53c0e9bd0a83 drivers/tty/serial/cpm_uart/cpm_uart_core.c Jiri Slaby 2013-01-03 @503 (pinfo->port.state && pinfo->port.state->port.low_latency))
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 504 pinfo->rx_fifosize = 1;
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 505 else
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 506 pinfo->rx_fifosize = RX_BUF_SIZE;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 507
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 508 /* MAXIDL is the timeout after which a receive buffer is closed
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 509 * when not full if no more characters are received.
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 510 * We calculate it from the baudrate so that the duration is
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 511 * always the same at standard rates: about 4ms.
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 512 */
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 513 maxidl = baud / 2400;
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 514 if (maxidl < 1)
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 515 maxidl = 1;
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 516 if (maxidl > 0x10)
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 517 maxidl = 0x10;
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 518
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 519 /* Character length programmed into the mode register is the
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 520 * sum of: 1 start bit, number of data bits, 0 or 1 parity bit,
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 521 * 1 or 2 stop bits, minus 1.
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 522 * The value 'bits' counts this for us.
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 523 */
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 524 cval = 0;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 525 scval = 0;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 526
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 527 /* byte size */
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 528 switch (termios->c_cflag & CSIZE) {
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 529 case CS5:
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 530 bits = 5;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 531 break;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 532 case CS6:
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 533 bits = 6;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 534 break;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 535 case CS7:
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 536 bits = 7;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 537 break;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 538 case CS8:
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 539 bits = 8;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 540 break;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 541 /* Never happens, but GCC is too dumb to figure it out */
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 542 default:
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 543 bits = 8;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 544 break;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 545 }
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 546 sbits = bits - 5;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 547
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 548 if (termios->c_cflag & CSTOPB) {
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 549 cval |= SMCMR_SL; /* Two stops */
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 550 scval |= SCU_PSMR_SL;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 551 bits++;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 552 }
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 553
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 554 if (termios->c_cflag & PARENB) {
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 555 cval |= SMCMR_PEN;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 556 scval |= SCU_PSMR_PEN;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 557 bits++;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 558 if (!(termios->c_cflag & PARODD)) {
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 559 cval |= SMCMR_PM_EVEN;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 560 scval |= (SCU_PSMR_REVP | SCU_PSMR_TEVP);
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 561 }
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 562 }
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 563
dc320815305c5f0 drivers/serial/cpm_uart/cpm_uart_core.c Laurent Pinchart 2008-07-02 564 /*
dc320815305c5f0 drivers/serial/cpm_uart/cpm_uart_core.c Laurent Pinchart 2008-07-02 565 * Update the timeout
dc320815305c5f0 drivers/serial/cpm_uart/cpm_uart_core.c Laurent Pinchart 2008-07-02 566 */
dc320815305c5f0 drivers/serial/cpm_uart/cpm_uart_core.c Laurent Pinchart 2008-07-02 567 uart_update_timeout(port, termios->c_cflag, baud);
dc320815305c5f0 drivers/serial/cpm_uart/cpm_uart_core.c Laurent Pinchart 2008-07-02 568
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 569 /*
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 570 * Set up parity check flag
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 571 */
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 572 port->read_status_mask = (BD_SC_EMPTY | BD_SC_OV);
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 573 if (termios->c_iflag & INPCK)
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 574 port->read_status_mask |= BD_SC_FR | BD_SC_PR;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 575 if ((termios->c_iflag & BRKINT) || (termios->c_iflag & PARMRK))
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 576 port->read_status_mask |= BD_SC_BR;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 577
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 578 /*
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 579 * Characters to ignore
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 580 */
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 581 port->ignore_status_mask = 0;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 582 if (termios->c_iflag & IGNPAR)
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 583 port->ignore_status_mask |= BD_SC_PR | BD_SC_FR;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 584 if (termios->c_iflag & IGNBRK) {
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 585 port->ignore_status_mask |= BD_SC_BR;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 586 /*
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 587 * If we're ignore parity and break indicators, ignore
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 588 * overruns too. (For real raw support).
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 589 */
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 590 if (termios->c_iflag & IGNPAR)
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 591 port->ignore_status_mask |= BD_SC_OV;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 592 }
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 593 /*
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 594 * !!! ignore all characters if CREAD is not set
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 595 */
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 596 if ((termios->c_cflag & CREAD) == 0)
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 597 port->read_status_mask &= ~BD_SC_EMPTY;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 598
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 599 spin_lock_irqsave(&port->lock, flags);
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 600
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 601 /* Start bit has not been added (so don't, because we would just
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 602 * subtract it later), and we need to add one for the number of
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 603 * stops bits (there is always at least one).
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 604 */
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 605 bits++;
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 606 if (IS_SMC(pinfo)) {
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 607 /*
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 608 * MRBLR can be changed while an SMC/SCC is operating only
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 609 * if it is done in a single bus cycle with one 16-bit move
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 610 * (not two 8-bit bus cycles back-to-back). This occurs when
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 611 * the cp shifts control to the next RxBD, so the change does
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 612 * not take effect immediately. To guarantee the exact RxBD
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 613 * on which the change occurs, change MRBLR only while the
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 614 * SMC/SCC receiver is disabled.
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 615 */
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 616 out_be16(&pinfo->smcup->smc_mrblr, pinfo->rx_fifosize);
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 617 out_be16(&pinfo->smcup->smc_maxidl, maxidl);
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 618
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 619 /* Set the mode register. We want to keep a copy of the
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 620 * enables, because we want to put them back if they were
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 621 * present.
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 622 */
ae2d4c396e19f45 drivers/serial/cpm_uart/cpm_uart_core.c Nye Liu 2008-07-23 623 prev_mode = in_be16(&smcp->smc_smcmr) & (SMCMR_REN | SMCMR_TEN);
ae2d4c396e19f45 drivers/serial/cpm_uart/cpm_uart_core.c Nye Liu 2008-07-23 624 /* Output in *one* operation, so we don't interrupt RX/TX if they
ae2d4c396e19f45 drivers/serial/cpm_uart/cpm_uart_core.c Nye Liu 2008-07-23 625 * were already enabled. */
ae2d4c396e19f45 drivers/serial/cpm_uart/cpm_uart_core.c Nye Liu 2008-07-23 626 out_be16(&smcp->smc_smcmr, smcr_mk_clen(bits) | cval |
ae2d4c396e19f45 drivers/serial/cpm_uart/cpm_uart_core.c Nye Liu 2008-07-23 627 SMCMR_SM_UART | prev_mode);
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 628 } else {
5b04ec4ad8e2ffd drivers/serial/cpm_uart/cpm_uart_core.c Baurzhan Ismagulov 2010-11-11 629 out_be16(&pinfo->sccup->scc_genscc.scc_mrblr, pinfo->rx_fifosize);
6e62bdc07e1b397 drivers/tty/serial/cpm_uart/cpm_uart_core.c Christophe Leroy 2012-09-24 630 out_be16(&pinfo->sccup->scc_maxidl, maxidl);
c1dcfd9d199043f drivers/serial/cpm_uart/cpm_uart_core.c Scott Wood 2007-07-24 631 out_be16(&sccp->scc_psmr, (sbits << 12) | scval);
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 632 }
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 633
80776554b6c93cf drivers/serial/cpm_uart/cpm_uart_core.c Laurent Pinchart 2008-07-28 634 if (pinfo->clk)
80776554b6c93cf drivers/serial/cpm_uart/cpm_uart_core.c Laurent Pinchart 2008-07-28 635 clk_set_rate(pinfo->clk, baud);
80776554b6c93cf drivers/serial/cpm_uart/cpm_uart_core.c Laurent Pinchart 2008-07-28 636 else
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 637 cpm_set_brg(pinfo->brg - 1, baud);
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 638 spin_unlock_irqrestore(&port->lock, flags);
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 639 }
^1da177e4c3f415 drivers/serial/cpm_uart/cpm_uart_core.c Linus Torvalds 2005-04-16 640
:::::: The code at line 503 was first introduced by commit
:::::: d6c53c0e9bd0a83f9f9ddbc9fd80141a54d83896 TTY: move low_latency to tty_port
:::::: TO: Jiri Slaby <jslaby(a)suse.cz>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
Re: [PATCH] RDMA/siw: Fix handling of zero-sized Read and Receive Queues.
by kernel test robot
Hi Bernard,
I love your patch! Perhaps something to improve:
[auto build test WARNING on rdma/for-next]
[also build test WARNING on linus/master v5.10 next-20201215]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Bernard-Metzler/RDMA-siw-Fix-han...
base: https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next
config: arm-randconfig-r035-20201215 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a29ecca7819a6ed4250d3689b12b1f664bb790d7)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/0day-ci/linux/commit/2626590f990ffc9ed5607f7027ffadbfc...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Bernard-Metzler/RDMA-siw-Fix-handling-of-zero-sized-Read-and-Receive-Queues/20201215-202632
git checkout 2626590f990ffc9ed5607f7027ffadbfc9073692
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/infiniband/sw/siw/siw_qp_rx.c:681:6: warning: variable 'flags' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (unlikely(!qp->attrs.irq_size)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:22: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/sw/siw/siw_qp_rx.c:729:39: note: uninitialized use occurs here
spin_unlock_irqrestore(&qp->sq_lock, flags);
^~~~~
drivers/infiniband/sw/siw/siw_qp_rx.c:681:2: note: remove the 'if' if its condition is always false
if (unlikely(!qp->attrs.irq_size)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/sw/siw/siw_qp_rx.c:673:21: note: initialize the variable 'flags' to silence this warning
unsigned long flags;
^
= 0
1 warning generated.
vim +681 drivers/infiniband/sw/siw/siw_qp_rx.c
643
644 /*
645 * siw_init_rresp:
646 *
647 * Process inbound RDMA READ REQ. Produce a pseudo READ RESPONSE WQE.
648 * Put it at the tail of the IRQ, if there is another WQE currently in
649 * transmit processing. If not, make it the current WQE to be processed
650 * and schedule transmit processing.
651 *
652 * Can be called from softirq context and from process
653 * context (RREAD socket loopback case!)
654 *
655 * return value:
656 * 0: success,
657 * failure code otherwise
658 */
659
660 static int siw_init_rresp(struct siw_qp *qp, struct siw_rx_stream *srx)
661 {
662 struct siw_wqe *tx_work = tx_wqe(qp);
663 struct siw_sqe *resp;
664
665 uint64_t raddr = be64_to_cpu(srx->hdr.rreq.sink_to),
666 laddr = be64_to_cpu(srx->hdr.rreq.source_to);
667 uint32_t length = be32_to_cpu(srx->hdr.rreq.read_size),
668 lkey = be32_to_cpu(srx->hdr.rreq.source_stag),
669 rkey = be32_to_cpu(srx->hdr.rreq.sink_stag),
670 msn = be32_to_cpu(srx->hdr.rreq.ddp_msn);
671
672 int run_sq = 1, rv = 0;
673 unsigned long flags;
674
675 if (unlikely(msn != srx->ddp_msn[RDMAP_UNTAGGED_QN_RDMA_READ])) {
676 siw_init_terminate(qp, TERM_ERROR_LAYER_DDP,
677 DDP_ETYPE_UNTAGGED_BUF,
678 DDP_ECODE_UT_INVALID_MSN_RANGE, 0);
679 return -EPROTO;
680 }
> 681 if (unlikely(!qp->attrs.irq_size)) {
682 run_sq = 0;
683 goto error_irq;
684 }
685 spin_lock_irqsave(&qp->sq_lock, flags);
686
687 if (tx_work->wr_status == SIW_WR_IDLE) {
688 /*
689 * immediately schedule READ response w/o
690 * consuming IRQ entry: IRQ must be empty.
691 */
692 tx_work->processed = 0;
693 tx_work->mem[0] = NULL;
694 tx_work->wr_status = SIW_WR_QUEUED;
695 resp = &tx_work->sqe;
696 } else {
697 resp = irq_alloc_free(qp);
698 run_sq = 0;
699 }
700 if (likely(resp)) {
701 resp->opcode = SIW_OP_READ_RESPONSE;
702
703 resp->sge[0].length = length;
704 resp->sge[0].laddr = laddr;
705 resp->sge[0].lkey = lkey;
706
707 /* Keep aside message sequence number for potential
708 * error reporting during Read Response generation.
709 */
710 resp->sge[1].length = msn;
711
712 resp->raddr = raddr;
713 resp->rkey = rkey;
714 resp->num_sge = length ? 1 : 0;
715
716 /* RRESP now valid as current TX wqe or placed into IRQ */
717 smp_store_mb(resp->flags, SIW_WQE_VALID);
718 } else {
719 error_irq:
720 pr_warn("siw: [QP %u]: IRQ exceeded or null, size %d\n",
721 qp_id(qp), qp->attrs.irq_size);
722
723 siw_init_terminate(qp, TERM_ERROR_LAYER_RDMAP,
724 RDMAP_ETYPE_REMOTE_OPERATION,
725 RDMAP_ECODE_CATASTROPHIC_STREAM, 0);
726 rv = -EPROTO;
727 }
728
729 spin_unlock_irqrestore(&qp->sq_lock, flags);
730
731 if (run_sq)
732 rv = siw_sq_start(qp);
733
734 return rv;
735 }
736
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[morimoto-linux:fw-cleanup-2020-12-15-v2 93/93] sound/soc/generic/audio-graph-card2.c:511:32: error: passing argument 1 of 'asoc_simple_canonicalize_cpu' from incompatible pointer type
by kernel test robot
tree: https://github.com/morimoto/linux fw-cleanup-2020-12-15-v2
head: 228442c52651fc123cc1f69999b08965852a0019
commit: 228442c52651fc123cc1f69999b08965852a0019 [93/93] hge
config: ia64-randconfig-r014-20201215 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/morimoto/linux/commit/228442c52651fc123cc1f69999b08965...
git remote add morimoto-linux https://github.com/morimoto/linux
git fetch --no-tags morimoto-linux fw-cleanup-2020-12-15-v2
git checkout 228442c52651fc123cc1f69999b08965852a0019
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
sound/soc/generic/audio-graph-card2.c: In function 'graph_link_multi':
>> sound/soc/generic/audio-graph-card2.c:511:32: error: passing argument 1 of 'asoc_simple_canonicalize_cpu' from incompatible pointer type [-Werror=incompatible-pointer-types]
511 | asoc_simple_canonicalize_cpu(dev, dai_link, i, single_cpu);
| ^~~
| |
| struct device *
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:150:70: note: expected 'struct snd_soc_dai_link_component *' but argument is of type 'struct device *'
150 | void asoc_simple_canonicalize_cpu(struct snd_soc_dai_link_component *cpus,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
>> sound/soc/generic/audio-graph-card2.c:511:37: warning: passing argument 2 of 'asoc_simple_canonicalize_cpu' makes integer from pointer without a cast [-Wint-conversion]
511 | asoc_simple_canonicalize_cpu(dev, dai_link, i, single_cpu);
| ^~~~~~~~
| |
| struct snd_soc_dai_link *
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:151:11: note: expected 'int' but argument is of type 'struct snd_soc_dai_link *'
151 | int is_single_links);
| ~~~~^~~~~~~~~~~~~~~
>> sound/soc/generic/audio-graph-card2.c:511:3: error: too many arguments to function 'asoc_simple_canonicalize_cpu'
511 | asoc_simple_canonicalize_cpu(dev, dai_link, i, single_cpu);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:150:6: note: declared here
150 | void asoc_simple_canonicalize_cpu(struct snd_soc_dai_link_component *cpus,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/generic/audio-graph-card2.c:512:37: error: passing argument 1 of 'asoc_simple_canonicalize_platform' from incompatible pointer type [-Werror=incompatible-pointer-types]
512 | asoc_simple_canonicalize_platform(dev, dai_link, i);
| ^~~
| |
| struct device *
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:148:75: note: expected 'struct snd_soc_dai_link_component *' but argument is of type 'struct device *'
148 | void asoc_simple_canonicalize_platform(struct snd_soc_dai_link_component *platforms,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
sound/soc/generic/audio-graph-card2.c:512:42: error: passing argument 2 of 'asoc_simple_canonicalize_platform' from incompatible pointer type [-Werror=incompatible-pointer-types]
512 | asoc_simple_canonicalize_platform(dev, dai_link, i);
| ^~~~~~~~
| |
| struct snd_soc_dai_link *
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:149:47: note: expected 'struct snd_soc_dai_link_component *' but argument is of type 'struct snd_soc_dai_link *'
149 | struct snd_soc_dai_link_component *cpus);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
>> sound/soc/generic/audio-graph-card2.c:512:3: error: too many arguments to function 'asoc_simple_canonicalize_platform'
512 | asoc_simple_canonicalize_platform(dev, dai_link, i);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:148:6: note: declared here
148 | void asoc_simple_canonicalize_platform(struct snd_soc_dai_link_component *platforms,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/generic/audio-graph-card2.c: In function 'graph_link_dpcm':
sound/soc/generic/audio-graph-card2.c:622:32: error: passing argument 1 of 'asoc_simple_canonicalize_cpu' from incompatible pointer type [-Werror=incompatible-pointer-types]
622 | asoc_simple_canonicalize_cpu(dai_link, is_single_links);
| ^~~~~~~~
| |
| struct snd_soc_dai_link *
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:150:70: note: expected 'struct snd_soc_dai_link_component *' but argument is of type 'struct snd_soc_dai_link *'
150 | void asoc_simple_canonicalize_cpu(struct snd_soc_dai_link_component *cpus,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
sound/soc/generic/audio-graph-card2.c:623:37: error: passing argument 1 of 'asoc_simple_canonicalize_platform' from incompatible pointer type [-Werror=incompatible-pointer-types]
623 | asoc_simple_canonicalize_platform(dai_link);
| ^~~~~~~~
| |
| struct snd_soc_dai_link *
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:148:75: note: expected 'struct snd_soc_dai_link_component *' but argument is of type 'struct snd_soc_dai_link *'
148 | void asoc_simple_canonicalize_platform(struct snd_soc_dai_link_component *platforms,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
>> sound/soc/generic/audio-graph-card2.c:623:3: error: too few arguments to function 'asoc_simple_canonicalize_platform'
623 | asoc_simple_canonicalize_platform(dai_link);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:148:6: note: declared here
148 | void asoc_simple_canonicalize_platform(struct snd_soc_dai_link_component *platforms,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/generic/audio-graph-card2.c: In function 'graph_link_normal':
sound/soc/generic/audio-graph-card2.c:749:31: error: passing argument 1 of 'asoc_simple_canonicalize_cpu' from incompatible pointer type [-Werror=incompatible-pointer-types]
749 | asoc_simple_canonicalize_cpu(dai_link, single_cpu);
| ^~~~~~~~
| |
| struct snd_soc_dai_link *
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:150:70: note: expected 'struct snd_soc_dai_link_component *' but argument is of type 'struct snd_soc_dai_link *'
150 | void asoc_simple_canonicalize_cpu(struct snd_soc_dai_link_component *cpus,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
sound/soc/generic/audio-graph-card2.c:750:36: error: passing argument 1 of 'asoc_simple_canonicalize_platform' from incompatible pointer type [-Werror=incompatible-pointer-types]
750 | asoc_simple_canonicalize_platform(dai_link);
| ^~~~~~~~
| |
| struct snd_soc_dai_link *
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:148:75: note: expected 'struct snd_soc_dai_link_component *' but argument is of type 'struct snd_soc_dai_link *'
148 | void asoc_simple_canonicalize_platform(struct snd_soc_dai_link_component *platforms,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
sound/soc/generic/audio-graph-card2.c:750:2: error: too few arguments to function 'asoc_simple_canonicalize_platform'
750 | asoc_simple_canonicalize_platform(dai_link);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/sound/graph_card.h:10,
from sound/soc/generic/audio-graph-card2.c:21:
include/sound/simple_card_utils.h:148:6: note: declared here
148 | void asoc_simple_canonicalize_platform(struct snd_soc_dai_link_component *platforms,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/asoc_simple_canonicalize_cpu +511 sound/soc/generic/audio-graph-card2.c
447
448 static int graph_link_multi(struct asoc_simple_priv *priv,
449 struct snd_soc_dai_link *dai_link,
450 struct simple_dai_props *dai_props,
451 struct device_node *link,
452 struct link_info *li)
453 {
454 struct device *dev = simple_priv_to_dev(priv);
455 struct device_node *ports = link;
456 struct device_node *port;
457 int i;
458
459 /*
460 * top: MULTI {
461 * compatible = "audio-graph-card2-multi";
462 *
463 * // CPU
464 * => link: ports@0 {
465 * port@0 { ep: endpoint { remote-endpoint = <&cpu_ep>; }; };
466 * ...
467 * };
468 * // Codec
469 * ports@1 {
470 * port@0 { endpoint { ... }; };
471 * ...
472 * };
473 * };
474 *
475 * CPU {
476 * cpu_ports: ports {
477 * cpu_port: port@0 { cpu_ep: endpoint { ... }; };
478 * ...
479 * };
480 * };
481 *
482 */
483 i = 0;
484 for_each_port_of_node(ports, port) {
485 struct device_node *ep = port_to_endpoint(port);
486 struct device_node *cpu_ep = of_graph_get_remote_endpoint(ep);
487 struct device_node *cpu_port = of_get_parent(cpu_ep);
488 struct device_node *cpu_ports = of_get_parent(cpu_port);
489 struct asoc_simple_dai *cpu_dai = simple_props_to_dai_cpu(dai_props, i);
490 struct snd_soc_dai_link_component *cpus = asoc_link_to_cpu(dai_link, i);
491 int ret, single_cpu;
492
493 /* 1st CPU only */
494 if (i == 0) {
495 graph_parse_mclk_fs(cpu_ep, dai_props);
496 graph_parse_daifmt(cpu_ep, dai_link);
497 }
498
499 ret = asoc_simple_parse_dai(cpu_ep, cpus, &single_cpu);
500 if (ret < 0)
501 goto cpu_err;
502
503 ret = asoc_simple_parse_tdm(cpu_ep, cpu_dai);
504 if (ret < 0)
505 goto cpu_err;
506
507 ret = asoc_simple_parse_clk(dev, cpu_ep, cpu_dai, cpus);
508 if (ret < 0)
509 goto cpu_err;
510
> 511 asoc_simple_canonicalize_cpu(dev, dai_link, i, single_cpu);
> 512 asoc_simple_canonicalize_platform(dev, dai_link, i);
513
514 i++;
515 cpu_err:
516 of_node_put(ep);
517 of_node_put(cpu_ep);
518 of_node_put(cpu_port);
519 of_node_put(cpu_ports);
520
521 if (ret < 0)
522 return ret;
523 }
524 #if 0
525 struct device_node *codec_ep = of_graph_get_remote_endpoint(cpu_ep);
526 struct asoc_simple_dai *codec_dai = simple_props_to_dai_codec(dai_props, i);
527 struct snd_soc_dai_link_component *codecs = asoc_link_to_codec(dai_link, i);
528
529 /* Factor to mclk, used in hw_params() */
530 graph_parse_mclk_fs(codec_ep, dai_props);
531
532 ret = asoc_simple_parse_dai(codec_ep, codecs, NULL);
533 if (ret < 0)
534 goto err;
535
536 ret = asoc_simple_parse_tdm(codec_ep, codec_dai);
537 if (ret < 0)
538 goto err;
539
540 ret = asoc_simple_parse_clk(dev, codec_ep, codec_dai, codecs);
541 if (ret < 0)
542 goto err;
543
544 ret = asoc_simple_set_dailink_name(dev, dai_link,
545 "%s-%s",
546 cpus->dai_name,
547 codecs->dai_name);
548 if (ret < 0)
549 goto err;
550
551 #endif
552 return 0;
553 }
554
555 static int graph_link_dpcm(struct asoc_simple_priv *priv,
556 struct snd_soc_dai_link *dai_link,
557 struct simple_dai_props *dai_props,
558 struct device_node *link,
559 struct link_info *li)
560 {
561 struct device *dev = simple_priv_to_dev(priv);
562 struct device_node *rep = of_graph_get_remote_endpoint(port_to_endpoint(link));
563 struct device_node *rport = of_get_parent(rep);
564 struct device_node *rports = of_get_parent(rport);
565 struct asoc_simple_dai *dai;
566 struct snd_soc_dai_link_component *cpus = asoc_link_to_cpu(dai_link, 0);
567 struct snd_soc_dai_link_component *codecs = asoc_link_to_codec(dai_link, 0);
568 int ret;
569
570 if (asoc_graph_is_ports0(link)) {
571 int is_single_links = 0;
572
573 /*
574 * DSP {
575 * compatible = "audio-graph-card2-dsp";
576 *
577 * // Front-End
578 * ports@0 {
579 * => link: port@0 { endpoint { remote-endpoint = <&rep>; }; };
580 * ...
581 * };
582 * // Back-End
583 * ports@0 {
584 * ...
585 * };
586 * };
587 *
588 * CPU {
589 * rports: ports {
590 * rport: port@0 { rep: endpoint { ... }; };
591 * }
592 * }
593 */
594 /*
595 * setup CPU here, Codec is already set as dummy.
596 * see
597 * asoc_simple_init_priv()
598 */
599 dai = simple_props_to_dai_cpu(dai_props, 0);
600
601 dai_link->dynamic = 1;
602 dai_link->dpcm_merged_format = 1;
603
604 graph_parse_daifmt(rep, dai_link);
605
606 ret = asoc_simple_parse_dai(rep, cpus, &is_single_links);
607 if (ret)
608 goto err;
609
610 ret = asoc_simple_parse_clk(dev, rep, dai, cpus);
611 if (ret < 0)
612 goto err;
613
614 ret = asoc_simple_set_dailink_name(dev, dai_link,
615 "fe.%pOFP.%s",
616 cpus->of_node,
617 cpus->dai_name);
618 if (ret < 0)
619 goto err;
620
621 /* card->num_links includes Codec */
622 asoc_simple_canonicalize_cpu(dai_link, is_single_links);
> 623 asoc_simple_canonicalize_platform(dai_link);
624 } else {
625 struct snd_soc_codec_conf *cconf;
626
627 /*
628 * DSP {
629 * compatible = "audio-graph-card2-dsp";
630 *
631 * // Front-End
632 * ports@0 {
633 * ...
634 * };
635 * // Back-End
636 * ports@0 {
637 * => link: port@0 { endpoint { remote-endpoint = <&rep>; }; };
638 * ...
639 * };
640 * };
641 *
642 * Codec {
643 * rports: ports {
644 * rport: port@0 { rep: endpoint { ... }; };
645 * }
646 * }
647 */
648 /*
649 * setup Codec here, CPU is already set as dummy.
650 * see
651 * asoc_simple_init_priv()
652 */
653
654 /* BE settings */
655 dai_link->no_pcm = 1;
656 dai_link->be_hw_params_fixup = asoc_simple_be_hw_params_fixup;
657
658 dai = simple_props_to_dai_codec(dai_props, 0);
659 cconf = simple_props_to_codec_conf(dai_props, 0);
660
661 ret = asoc_simple_parse_dai(rep, codecs, NULL);
662 if (ret < 0)
663 goto err;
664
665 ret = asoc_simple_parse_clk(dev, rep, dai, codecs);
666 if (ret < 0)
667 goto err;
668
669 ret = asoc_simple_set_dailink_name(dev, dai_link,
670 "be.%pOFP.%s",
671 codecs->of_node,
672 codecs->dai_name);
673 if (ret < 0)
674 goto err;
675
676 /* check "prefix" from top node */
677 snd_soc_of_parse_node_prefix(rports, cconf, codecs->of_node, "prefix");
678 snd_soc_of_parse_node_prefix(rport, cconf, codecs->of_node, "prefix");
679 }
680
681 graph_parse_convert(dev, rep, &dai_props->adata);
682 graph_parse_mclk_fs(rep, dai_props);
683
684 ret = asoc_simple_parse_tdm(rep, dai);
685 if (ret)
686 goto err;
687
688 snd_soc_dai_link_set_capabilities(dai_link);
689 err:
690 of_node_put(rep);
691 of_node_put(rports);
692
693 return ret;
694 }
695
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[morimoto-linux:fw-cleanup-2020-12-15-v2 82/93] sound/soc/generic/sample-custom-card.c:24:5: warning: no previous prototype for 'custom_parse_of_hook_pre'
by kernel test robot
tree: https://github.com/morimoto/linux fw-cleanup-2020-12-15-v2
head: 228442c52651fc123cc1f69999b08965852a0019
commit: 9504c4aa3b48a4cef52fcefd7727aebcc96fb6e6 [82/93] card2
config: ia64-randconfig-r014-20201215 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/morimoto/linux/commit/9504c4aa3b48a4cef52fcefd7727aebc...
git remote add morimoto-linux https://github.com/morimoto/linux
git fetch --no-tags morimoto-linux fw-cleanup-2020-12-15-v2
git checkout 9504c4aa3b48a4cef52fcefd7727aebcc96fb6e6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> sound/soc/generic/sample-custom-card.c:24:5: warning: no previous prototype for 'custom_parse_of_hook_pre' [-Wmissing-prototypes]
24 | int custom_parse_of_hook_pre(struct asoc_simple_priv *priv) {
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/generic/sample-custom-card.c:33:5: warning: no previous prototype for 'custom_parse_of_hook_post' [-Wmissing-prototypes]
33 | int custom_parse_of_hook_post(struct asoc_simple_priv *priv) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
vim +/custom_parse_of_hook_pre +24 sound/soc/generic/sample-custom-card.c
23
> 24 int custom_parse_of_hook_pre(struct asoc_simple_priv *priv) {
25
26 struct device *dev = simple_priv_to_dev(priv);
27
28 dev_info(dev, "hook for start of parse_of\n");
29
30 return 0;
31 }
32
> 33 int custom_parse_of_hook_post(struct asoc_simple_priv *priv) {
34
35 struct device *dev = simple_priv_to_dev(priv);
36
37 dev_info(dev, "hook for end of parse_of\n");
38
39 return 0;
40 }
41
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[radeon-alex:amd-20.45 2127/2427] drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1880:39: sparse: sparse: incorrect type in argument 1 (different base types)
by kernel test robot
tree: git://people.freedesktop.org/~agd5f/linux.git amd-20.45
head: a3950d94b046fb206e58fd3ec717f071c0203ba3
commit: c82b6c9ed412fb7009b02dd82e50ee24f451e9a8 [2127/2427] drm/amd/display: convert to use le16_add_cpu()
config: arc-randconfig-s031-20201214 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
git remote add radeon-alex git://people.freedesktop.org/~agd5f/linux.git
git fetch --no-tags radeon-alex amd-20.45
git checkout c82b6c9ed412fb7009b02dd82e50ee24f451e9a8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:879:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulSymClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:879:43: sparse: expected unsigned int [addressable] [assigned] [usertype] ulSymClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:879:43: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:956:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usRefDiv @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:956:40: sparse: expected unsigned short [addressable] [assigned] [usertype] usRefDiv
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:956:40: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:958:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usFbDiv @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:958:39: sparse: expected unsigned short [addressable] [assigned] [usertype] usFbDiv
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:958:39: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:966:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:966:44: sparse: expected unsigned short [addressable] [assigned] [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:966:44: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1029:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usFbDiv @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1029:40: sparse: expected unsigned short [addressable] [assigned] [usertype] usFbDiv
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1029:40: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1031:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulFbDivDecFrac @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1031:47: sparse: expected unsigned int [addressable] [assigned] [usertype] ulFbDivDecFrac
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1031:47: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1044:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1044:45: sparse: expected unsigned short [addressable] [assigned] [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1044:45: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1105:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usFbDiv @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1105:40: sparse: expected unsigned short [addressable] [assigned] [usertype] usFbDiv
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1105:40: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1107:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulFbDivDecFrac @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1107:47: sparse: expected unsigned int [addressable] [assigned] [usertype] ulFbDivDecFrac
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1107:47: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1120:60: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulPixelClock:24 @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1120:60: sparse: expected unsigned int [addressable] [assigned] [usertype] ulPixelClock:24
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1120:60: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1183:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulPixelClock @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1183:34: sparse: expected unsigned int [addressable] [assigned] [usertype] ulPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1183:34: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1272:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumPercentage @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1272:43: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumPercentage
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1272:43: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1321:51: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumPercentage @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1321:51: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumPercentage
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1321:51: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1323:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumStep @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1323:45: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumStep
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1323:45: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1337:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmount @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1337:47: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmount
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1337:47: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1391:51: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmountFrac @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1391:51: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmountFrac
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1391:51: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1393:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumStep @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1393:45: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumStep
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1393:45: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1406:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmount @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1406:47: sparse: expected unsigned short [addressable] [assigned] [usertype] usSpreadSpectrumAmount
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1406:47: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1465:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1465:29: sparse: expected unsigned short [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1465:29: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1488:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1488:36: sparse: expected unsigned short [addressable] [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1488:36: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1508:43: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1583:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1583:30: sparse: expected unsigned short [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1583:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1826:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_Size @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1826:25: sparse: expected unsigned short [assigned] [usertype] usH_Size
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1826:25: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1828:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_Blanking_Time @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1828:34: sparse: expected unsigned short [assigned] [usertype] usH_Blanking_Time
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1828:34: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1831:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_Size @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1831:25: sparse: expected unsigned short [assigned] [usertype] usV_Size
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1831:25: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1833:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_Blanking_Time @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1833:34: sparse: expected unsigned short [assigned] [usertype] usV_Blanking_Time
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1833:34: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1838:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_SyncOffset @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1838:31: sparse: expected unsigned short [assigned] [usertype] usH_SyncOffset
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1838:31: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1840:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_SyncWidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1840:30: sparse: expected unsigned short [assigned] [usertype] usH_SyncWidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1840:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1844:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_SyncOffset @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1844:31: sparse: expected unsigned short [assigned] [usertype] usV_SyncOffset
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1844:31: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1846:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_SyncWidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1846:30: sparse: expected unsigned short [assigned] [usertype] usV_SyncWidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1846:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1855:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1854:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1854:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1854:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1859:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1858:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1858:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1858:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1863:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1862:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1862:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1862:49: sparse: got restricted __le16 [usertype]
>> drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1880:39: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __le16 [usertype] *var @@ got unsigned short * @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1880:39: sparse: expected restricted __le16 [usertype] *var
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1880:39: sparse: got unsigned short *
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1886:33: sparse: sparse: cast to restricted __le16
>> drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1885:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1885:49: sparse: expected unsigned short [addressable] [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1885:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1752:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_Total @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1752:26: sparse: expected unsigned short [assigned] [usertype] usH_Total
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1752:26: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1753:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_Disp @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1753:25: sparse: expected unsigned short [assigned] [usertype] usH_Disp
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1753:25: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1754:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_SyncStart @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1754:30: sparse: expected unsigned short [assigned] [usertype] usH_SyncStart
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1754:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1755:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usH_SyncWidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1755:30: sparse: expected unsigned short [assigned] [usertype] usH_SyncWidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1755:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1756:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_Total @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1756:26: sparse: expected unsigned short [assigned] [usertype] usV_Total
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1756:26: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1757:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_Disp @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1757:25: sparse: expected unsigned short [assigned] [usertype] usV_Disp
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1757:25: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1758:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_SyncStart @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1758:30: sparse: expected unsigned short [assigned] [usertype] usV_SyncStart
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1758:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1760:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_SyncWidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1760:30: sparse: expected unsigned short [assigned] [usertype] usV_SyncWidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1760:30: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1776:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1775:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1775:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1775:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1780:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1779:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1779:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1779:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1784:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1783:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1783:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1783:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1799:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usV_SyncStart @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1799:38: sparse: expected unsigned short [assigned] [usertype] usV_SyncStart
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1799:38: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1805:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1804:49: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] usAccess @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1804:49: sparse: expected unsigned short [assigned] [usertype] usAccess
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:1804:49: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2047:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2047:40: sparse: expected unsigned short [addressable] [assigned] [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2047:40: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2079:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulDispEngClkFreq @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2079:44: sparse: expected unsigned int [addressable] [assigned] [usertype] ulDispEngClkFreq
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2079:44: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2092:44: sparse: sparse: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2174:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] usConnectorId @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2174:44: sparse: expected unsigned short [usertype] usConnectorId
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2174:44: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2183:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2183:43: sparse: expected unsigned short [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2183:43: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2207:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] usPixelClock @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2207:43: sparse: expected unsigned short [usertype] usPixelClock
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2207:43: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2340:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] ulDCEClkFreq @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2340:45: sparse: expected unsigned int [addressable] [assigned] [usertype] ulDCEClkFreq
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2340:45: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c:2344:53: sparse: sparse: cast to restricted __le32
--
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:413:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] pixclk_100hz @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:413:34: sparse: expected unsigned int [addressable] [assigned] [usertype] pixclk_100hz
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:413:34: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:509:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] h_size @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:509:23: sparse: expected unsigned short [assigned] [usertype] h_size
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:509:23: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:511:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] h_blanking_time @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:511:32: sparse: expected unsigned short [assigned] [usertype] h_blanking_time
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:511:32: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:515:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] v_size @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:515:23: sparse: expected unsigned short [assigned] [usertype] v_size
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:515:23: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:517:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] v_blanking_time @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:517:32: sparse: expected unsigned short [assigned] [usertype] v_blanking_time
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:517:32: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:524:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] h_syncoffset @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:524:29: sparse: expected unsigned short [assigned] [usertype] h_syncoffset
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:524:29: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:527:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] h_syncwidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:527:28: sparse: expected unsigned short [assigned] [usertype] h_syncwidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:527:28: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:532:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] v_syncoffset @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:532:29: sparse: expected unsigned short [assigned] [usertype] v_syncoffset
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:532:29: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:535:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] v_syncwidth @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:535:28: sparse: expected unsigned short [assigned] [usertype] v_syncwidth
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:535:28: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:544:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:543:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] modemiscinfo @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:543:37: sparse: expected unsigned short [assigned] [usertype] modemiscinfo
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:543:37: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:549:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:548:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] modemiscinfo @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:548:37: sparse: expected unsigned short [assigned] [usertype] modemiscinfo
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:548:37: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:554:33: sparse: sparse: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:553:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [assigned] [usertype] modemiscinfo @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:553:37: sparse: expected unsigned short [assigned] [usertype] modemiscinfo
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:553:37: sparse: got restricted __le16 [usertype]
>> drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:572:39: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __le16 [usertype] *var @@ got unsigned short * @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:572:39: sparse: expected restricted __le16 [usertype] *var
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:572:39: sparse: got unsigned short *
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:578:25: sparse: sparse: cast to restricted __le16
>> drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:577:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [addressable] [assigned] [usertype] modemiscinfo @@ got restricted __le16 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:577:37: sparse: expected unsigned short [addressable] [assigned] [usertype] modemiscinfo
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:577:37: sparse: got restricted __le16 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:851:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [assigned] [usertype] dceclk_10khz @@ got restricted __le32 [usertype] @@
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:851:43: sparse: expected unsigned int [addressable] [assigned] [usertype] dceclk_10khz
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:851:43: sparse: got restricted __le32 [usertype]
drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.c:860:53: sparse: sparse: cast to restricted __le32
vim +1880 drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.c
1812
1813 static enum bp_result set_crtc_using_dtd_timing_v3(
1814 struct bios_parser *bp,
1815 struct bp_hw_crtc_timing_parameters *bp_params)
1816 {
1817 enum bp_result result = BP_RESULT_FAILURE;
1818 SET_CRTC_USING_DTD_TIMING_PARAMETERS params = {0};
1819 uint8_t atom_controller_id;
1820
1821 if (bp->cmd_helper->controller_id_to_atom(
1822 bp_params->controller_id, &atom_controller_id))
1823 params.ucCRTC = atom_controller_id;
1824
1825 /* bios usH_Size wants h addressable size */
1826 params.usH_Size = cpu_to_le16((uint16_t)bp_params->h_addressable);
1827 /* bios usH_Blanking_Time wants borders included in blanking */
1828 params.usH_Blanking_Time =
1829 cpu_to_le16((uint16_t)(bp_params->h_total - bp_params->h_addressable));
1830 /* bios usV_Size wants v addressable size */
1831 params.usV_Size = cpu_to_le16((uint16_t)bp_params->v_addressable);
1832 /* bios usV_Blanking_Time wants borders included in blanking */
1833 params.usV_Blanking_Time =
1834 cpu_to_le16((uint16_t)(bp_params->v_total - bp_params->v_addressable));
1835 /* bios usHSyncOffset is the offset from the end of h addressable,
1836 * our horizontalSyncStart is the offset from the beginning
1837 * of h addressable */
1838 params.usH_SyncOffset =
1839 cpu_to_le16((uint16_t)(bp_params->h_sync_start - bp_params->h_addressable));
1840 params.usH_SyncWidth = cpu_to_le16((uint16_t)bp_params->h_sync_width);
1841 /* bios usHSyncOffset is the offset from the end of v addressable,
1842 * our verticalSyncStart is the offset from the beginning of
1843 * v addressable */
1844 params.usV_SyncOffset =
1845 cpu_to_le16((uint16_t)(bp_params->v_sync_start - bp_params->v_addressable));
1846 params.usV_SyncWidth = cpu_to_le16((uint16_t)bp_params->v_sync_width);
1847
1848 /* we assume that overscan from original timing does not get bigger
1849 * than 255
1850 * we will program all the borders in the Set CRTC Overscan call below
1851 */
1852
1853 if (0 == bp_params->flags.HSYNC_POSITIVE_POLARITY)
1854 params.susModeMiscInfo.usAccess =
1855 cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_HSYNC_POLARITY);
1856
1857 if (0 == bp_params->flags.VSYNC_POSITIVE_POLARITY)
1858 params.susModeMiscInfo.usAccess =
1859 cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_VSYNC_POLARITY);
1860
1861 if (bp_params->flags.INTERLACE) {
1862 params.susModeMiscInfo.usAccess =
1863 cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_INTERLACE);
1864
1865 /* original DAL code has this condition to apply this
1866 * for non-TV/CV only
1867 * due to complex MV testing for possible impact
1868 * if ( pACParameters->signal != SignalType_YPbPr &&
1869 * pACParameters->signal != SignalType_Composite &&
1870 * pACParameters->signal != SignalType_SVideo)
1871 */
1872 {
1873 /* HW will deduct 0.5 line from 2nd feild.
1874 * i.e. for 1080i, it is 2 lines for 1st field,
1875 * 2.5 lines for the 2nd feild. we need input as 5
1876 * instead of 4.
1877 * but it is 4 either from Edid data (spec CEA 861)
1878 * or CEA timing table.
1879 */
> 1880 le16_add_cpu(¶ms.usV_SyncOffset, 1);
1881 }
1882 }
1883
1884 if (bp_params->flags.HORZ_COUNT_BY_TWO)
> 1885 params.susModeMiscInfo.usAccess =
1886 cpu_to_le16(le16_to_cpu(params.susModeMiscInfo.usAccess) | ATOM_DOUBLE_CLOCK_MODE);
1887
1888 if (EXEC_BIOS_CMD_TABLE(SetCRTC_UsingDTDTiming, params))
1889 result = BP_RESULT_OK;
1890
1891 return result;
1892 }
1893
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[linux-next:master 11918/13311] drivers/input/misc/da7280.c:866 da7280_parse_properties() warn: inconsistent indenting
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 9317f948b0b188b8d2fded75957e6d42c460df1b
commit: cd3f609823a5896a6f4c229b3c2077475531e23d [11918/13311] Input: new da7280 haptic driver
config: i386-randconfig-m021-20201215 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
smatch warnings:
drivers/input/misc/da7280.c:866 da7280_parse_properties() warn: inconsistent indenting
vim +866 drivers/input/misc/da7280.c
771
772 static void da7280_parse_properties(struct device *dev,
773 struct da7280_haptic *haptics)
774 {
775 unsigned int i, mem[DA7280_SNP_MEM_SIZE];
776 char gpi_str1[] = "dlg,gpi0-seq-id";
777 char gpi_str2[] = "dlg,gpi0-mode";
778 char gpi_str3[] = "dlg,gpi0-polarity";
779 const char *str;
780 u32 val;
781 int error;
782
783 /*
784 * If there is no property, then use the mode programmed into the chip.
785 */
786 haptics->dev_type = DA7280_DEV_MAX;
787 error = device_property_read_string(dev, "dlg,actuator-type", &str);
788 if (!error)
789 haptics->dev_type = da7280_haptic_of_mode_str(dev, str);
790
791 haptics->const_op_mode = DA7280_DRO_MODE;
792 error = device_property_read_u32(dev, "dlg,const-op-mode", &val);
793 if (!error && val == DA7280_FF_PERIODIC_PWM)
794 haptics->const_op_mode = DA7280_PWM_MODE;
795
796 haptics->periodic_op_mode = DA7280_RTWM_MODE;
797 error = device_property_read_u32(dev, "dlg,periodic-op-mode", &val);
798 if (!error && val == DA7280_FF_PERIODIC_ETWM)
799 haptics->periodic_op_mode = DA7280_ETWM_MODE;
800
801 haptics->nommax = DA7280_SKIP_INIT;
802 error = device_property_read_u32(dev, "dlg,nom-microvolt", &val);
803 if (!error && val < DA7280_VOLTAGE_RATE_MAX)
804 haptics->nommax = da7280_haptic_of_volt_rating_set(val);
805
806 haptics->absmax = DA7280_SKIP_INIT;
807 error = device_property_read_u32(dev, "dlg,abs-max-microvolt", &val);
808 if (!error && val < DA7280_VOLTAGE_RATE_MAX)
809 haptics->absmax = da7280_haptic_of_volt_rating_set(val);
810
811 haptics->imax = DA7280_IMAX_DEFAULT;
812 error = device_property_read_u32(dev, "dlg,imax-microamp", &val);
813 if (!error && val < DA7280_IMAX_LIMIT)
814 haptics->imax = (val - 28600) / DA7280_IMAX_STEP + 1;
815
816 haptics->impd = DA7280_IMPD_DEFAULT;
817 error = device_property_read_u32(dev, "dlg,impd-micro-ohms", &val);
818 if (!error && val <= DA7280_IMPD_MAX)
819 haptics->impd = val;
820
821 haptics->resonant_freq_h = DA7280_SKIP_INIT;
822 haptics->resonant_freq_l = DA7280_SKIP_INIT;
823 error = device_property_read_u32(dev, "dlg,resonant-freq-hz", &val);
824 if (!error) {
825 if (val < DA7280_MAX_RESONAT_FREQ_HZ &&
826 val > DA7280_MIN_RESONAT_FREQ_HZ) {
827 haptics->resonant_freq_h =
828 ((1000000000 / (val * 1333)) >> 7) & 0xFF;
829 haptics->resonant_freq_l =
830 (1000000000 / (val * 1333)) & 0x7F;
831 } else {
832 haptics->resonant_freq_h = DA7280_RESONT_FREQH_DFT;
833 haptics->resonant_freq_l = DA7280_RESONT_FREQL_DFT;
834 }
835 }
836
837 /* If no property, set to zero as default is to do nothing. */
838 haptics->ps_seq_id = 0;
839 error = device_property_read_u32(dev, "dlg,ps-seq-id", &val);
840 if (!error && val <= DA7280_SEQ_ID_MAX)
841 haptics->ps_seq_id = val;
842
843 haptics->ps_seq_loop = 0;
844 error = device_property_read_u32(dev, "dlg,ps-seq-loop", &val);
845 if (!error && val <= DA7280_SEQ_LOOP_MAX)
846 haptics->ps_seq_loop = val;
847
848 /* GPI0~2 Control */
849 for (i = 0; i <= DA7280_GPI_SEQ_ID_MAX; i++) {
850 gpi_str1[7] = '0' + i;
851 haptics->gpi_ctl[i].seq_id = DA7280_GPI_SEQ_ID_DFT + i;
852 error = device_property_read_u32 (dev, gpi_str1, &val);
853 if (!error && val <= DA7280_SEQ_ID_MAX)
854 haptics->gpi_ctl[i].seq_id = val;
855
856 gpi_str2[7] = '0' + i;
857 haptics->gpi_ctl[i].mode = 0;
858 error = device_property_read_string(dev, gpi_str2, &str);
859 if (!error)
860 haptics->gpi_ctl[i].mode =
861 da7280_haptic_of_gpi_mode_str(dev, str);
862
863 gpi_str3[7] = '0' + i;
864 haptics->gpi_ctl[i].polarity = 0;
865 error = device_property_read_string(dev, gpi_str3, &str);
> 866 haptics->gpi_ctl[i].polarity =
867 da7280_haptic_of_gpi_pol_str(dev, str);
868 }
869
870 haptics->bemf_sense_en =
871 device_property_read_bool(dev, "dlg,bemf-sens-enable");
872 haptics->freq_track_en =
873 device_property_read_bool(dev, "dlg,freq-track-enable");
874 haptics->acc_en =
875 device_property_read_bool(dev, "dlg,acc-enable");
876 haptics->rapid_stop_en =
877 device_property_read_bool(dev, "dlg,rapid-stop-enable");
878 haptics->amp_pid_en =
879 device_property_read_bool(dev, "dlg,amp-pid-enable");
880
881 haptics->mem_update = false;
882 error = device_property_read_u32_array(dev, "dlg,mem-array",
883 &mem[0], DA7280_SNP_MEM_SIZE);
884 if (!error) {
885 haptics->mem_update = true;
886 memset(haptics->snp_mem, 0, DA7280_SNP_MEM_SIZE);
887 for (i = 0; i < DA7280_SNP_MEM_SIZE; i++) {
888 if (mem[i] <= 0xff) {
889 haptics->snp_mem[i] = (u8)mem[i];
890 } else {
891 dev_err(haptics->dev,
892 "Invalid data in mem-array at %d: %x\n",
893 i, mem[i]);
894 haptics->mem_update = false;
895 break;
896 }
897 }
898 }
899 }
900
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
Re: [PATCH v6] hwmon: Add driver for STMicroelectronics PM6764 Voltage Regulator.
by kernel test robot
Hi Charles,
I love your patch! Yet something to improve:
[auto build test ERROR on linux/master]
[also build test ERROR on linus/master v5.10]
[cannot apply to hwmon/hwmon-next next-20201215]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Charles-Hsu/hwmon-Add-driver-for...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 09162bc32c880a791c6c0668ce0745cf7958f576
config: x86_64-randconfig-a012-20201215 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a29ecca7819a6ed4250d3689b12b1f664bb790d7)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/b03a990fad3a963b4dd9801a24c2e4aca...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Charles-Hsu/hwmon-Add-driver-for-STMicroelectronics-PM6764-Voltage-Regulator/20201211-175428
git checkout b03a990fad3a963b4dd9801a24c2e4acae91d2cf
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/hwmon/pmbus/pm6764tr.c:22:68: error: too few arguments to function call, expected 4, have 3
ret = pmbus_read_word_data(client, page, PM6764TR_PMBUS_READ_VOUT);
~~~~~~~~~~~~~~~~~~~~ ^
drivers/hwmon/pmbus/pmbus.h:479:5: note: 'pmbus_read_word_data' declared here
int pmbus_read_word_data(struct i2c_client *client, int page, int phase,
^
>> drivers/hwmon/pmbus/pm6764tr.c:42:20: error: incompatible function pointer types initializing 'int (*)(struct i2c_client *, int, int, int)' with an expression of type 'int (struct i2c_client *, int, int)' [-Werror,-Wincompatible-function-pointer-types]
.read_word_data = pm6764tr_read_word_data,
^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/hwmon/pmbus/pm6764tr.c:48:36: error: too many arguments to function call, expected 2, have 3
return pmbus_do_probe(client, id, &pm6764tr_info);
~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~
drivers/hwmon/pmbus/pmbus.h:492:5: note: 'pmbus_do_probe' declared here
int pmbus_do_probe(struct i2c_client *client, struct pmbus_driver_info *info);
^
>> drivers/hwmon/pmbus/pm6764tr.c:68:15: error: incompatible function pointer types initializing 'int (*)(struct i2c_client *)' with an expression of type 'int (struct i2c_client *, const struct i2c_device_id *)' [-Werror,-Wincompatible-function-pointer-types]
.probe_new = pm6764tr_probe,
^~~~~~~~~~~~~~
4 errors generated.
vim +22 drivers/hwmon/pmbus/pm6764tr.c
15
16 static int pm6764tr_read_word_data(struct i2c_client *client, int page, int reg)
17 {
18 int ret;
19
20 switch (reg) {
21 case PMBUS_VIRT_READ_VMON:
> 22 ret = pmbus_read_word_data(client, page, PM6764TR_PMBUS_READ_VOUT);
23 break;
24 default:
25 ret = -ENODATA;
26 break;
27 }
28 return ret;
29 }
30
31 static struct pmbus_driver_info pm6764tr_info = {
32 .pages = 1,
33 .format[PSC_VOLTAGE_IN] = linear,
34 .format[PSC_VOLTAGE_OUT] = vid,
35 .format[PSC_TEMPERATURE] = linear,
36 .format[PSC_CURRENT_OUT] = linear,
37 .format[PSC_POWER] = linear,
38 .func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_IIN | PMBUS_HAVE_PIN |
39 PMBUS_HAVE_IOUT | PMBUS_HAVE_POUT | PMBUS_HAVE_VMON |
40 PMBUS_HAVE_STATUS_IOUT | PMBUS_HAVE_STATUS_VOUT |
41 PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP,
> 42 .read_word_data = pm6764tr_read_word_data,
43 };
44
45 static int pm6764tr_probe(struct i2c_client *client,
46 const struct i2c_device_id *id)
47 {
> 48 return pmbus_do_probe(client, id, &pm6764tr_info);
49 }
50
51 static const struct i2c_device_id pm6764tr_id[] = {
52 {"pm6764tr", 0},
53 {}
54 };
55 MODULE_DEVICE_TABLE(i2c, pm6764tr_id);
56
57 static const struct of_device_id pm6764tr_of_match[] = {
58 {.compatible = "st,pm6764tr"},
59 {}
60 };
61
62 /* This is the driver that will be inserted */
63 static struct i2c_driver pm6764tr_driver = {
64 .driver = {
65 .name = "pm6764tr",
66 .of_match_table = of_match_ptr(pm6764tr_of_match),
67 },
> 68 .probe_new = pm6764tr_probe,
69 .id_table = pm6764tr_id,
70 };
71
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[morimoto-linux:fw-cleanup-2020-12-15-v2 50/93] include/sound/soc.h:1270:6: warning: variable 'dai_link' is uninitialized when used here
by kernel test robot
tree: https://github.com/morimoto/linux fw-cleanup-2020-12-15-v2
head: 228442c52651fc123cc1f69999b08965852a0019
commit: b0290ef28b6efcfae0d1cb63d4b535184ce928d8 [50/93] ASoC: soc.h: return error if multi platform at snd_soc_fixup_dai_links_platform_name()
config: x86_64-randconfig-a003-20201214 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a29ecca7819a6ed4250d3689b12b1f664bb790d7)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/morimoto/linux/commit/b0290ef28b6efcfae0d1cb63d4b53518...
git remote add morimoto-linux https://github.com/morimoto/linux
git fetch --no-tags morimoto-linux fw-cleanup-2020-12-15-v2
git checkout b0290ef28b6efcfae0d1cb63d4b535184ce928d8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/soundwire/stream.c:16:
>> include/sound/soc.h:1270:6: warning: variable 'dai_link' is uninitialized when used here [-Wuninitialized]
if (dai_link->num_platforms != 1) {
^~~~~~~~
include/sound/soc.h:1262:35: note: initialize the variable 'dai_link' to silence this warning
struct snd_soc_dai_link *dai_link;
^
= NULL
1 warning generated.
vim +/dai_link +1270 include/sound/soc.h
1257
1258 static inline
1259 int snd_soc_fixup_dai_links_platform_name(struct snd_soc_card *card,
1260 const char *platform_name)
1261 {
1262 struct snd_soc_dai_link *dai_link;
1263 const char *name;
1264 int i;
1265
1266 if (!platform_name) /* nothing to do */
1267 return 0;
1268
1269 /* only single platform is supported for now */
> 1270 if (dai_link->num_platforms != 1) {
1271 dev_err(card->dev, "only single platform is supported for now\n");
1272 return -EINVAL;
1273 }
1274
1275 /* set platform name for each dailink */
1276 for_each_card_prelinks(card, i, dai_link) {
1277 name = devm_kstrdup(card->dev, platform_name, GFP_KERNEL);
1278 if (!name)
1279 return -ENOMEM;
1280
1281 if (!dai_link->platforms)
1282 return -EINVAL;
1283
1284 /* only single platform is supported for now */
1285 dai_link->platforms->name = name;
1286 }
1287
1288 return 0;
1289 }
1290
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months