drivers/net/ethernet/chelsio/cxgb4/sge.c:2571 cxgb4_ethofld_send_flowc() warn: missing error code 'ret'
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 79160a603bdb51916226caf4a6616cc4e1c58a58
commit: 52bfcdd87e83d9e69d22da5f26b1512ffc81deed net:CXGB4: fix leak if sk_buff is not used
config: x86_64-randconfig-m001-20210706 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/net/ethernet/chelsio/cxgb4/sge.c:2571 cxgb4_ethofld_send_flowc() warn: missing error code 'ret'
vim +/ret +2571 drivers/net/ethernet/chelsio/cxgb4/sge.c
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2535 int cxgb4_ethofld_send_flowc(struct net_device *dev, u32 eotid, u32 tc)
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2536 {
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2537 struct port_info *pi = netdev2pinfo(dev);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2538 struct adapter *adap = netdev2adap(dev);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2539 enum sge_eosw_state next_state;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2540 struct sge_eosw_txq *eosw_txq;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2541 u32 len, len16, nparams = 6;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2542 struct fw_flowc_wr *flowc;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2543 struct eotid_entry *entry;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2544 struct sge_ofld_rxq *rxq;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2545 struct sk_buff *skb;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2546 int ret = 0;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2547
a422d5ff6defb1 Gustavo A. R. Silva 2020-06-19 2548 len = struct_size(flowc, mnemval, nparams);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2549 len16 = DIV_ROUND_UP(len, 16);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2550
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2551 entry = cxgb4_lookup_eotid(&adap->tids, eotid);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2552 if (!entry)
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2553 return -ENOMEM;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2554
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2555 eosw_txq = (struct sge_eosw_txq *)entry->data;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2556 if (!eosw_txq)
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2557 return -ENOMEM;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2558
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2559 skb = alloc_skb(len, GFP_KERNEL);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2560 if (!skb)
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2561 return -ENOMEM;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2562
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2563 spin_lock_bh(&eosw_txq->lock);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2564 if (tc != FW_SCHED_CLS_NONE) {
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2565 if (eosw_txq->state != CXGB4_EO_STATE_CLOSED)
52bfcdd87e83d9 Íñigo Huguet 2021-05-05 2566 goto out_free_skb;
^^^^^^^^^^^^^^^^^
Are these error paths?
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2567
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2568 next_state = CXGB4_EO_STATE_FLOWC_OPEN_SEND;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2569 } else {
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2570 if (eosw_txq->state != CXGB4_EO_STATE_ACTIVE)
52bfcdd87e83d9 Íñigo Huguet 2021-05-05 @2571 goto out_free_skb;
Here too
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2572
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2573 next_state = CXGB4_EO_STATE_FLOWC_CLOSE_SEND;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2574 }
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2575
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2576 flowc = __skb_put(skb, len);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2577 memset(flowc, 0, len);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2578
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2579 rxq = &adap->sge.eohw_rxq[eosw_txq->hwqid];
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2580 flowc->flowid_len16 = cpu_to_be32(FW_WR_LEN16_V(len16) |
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2581 FW_WR_FLOWID_V(eosw_txq->hwtid));
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2582 flowc->op_to_nparams = cpu_to_be32(FW_WR_OP_V(FW_FLOWC_WR) |
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2583 FW_FLOWC_WR_NPARAMS_V(nparams) |
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2584 FW_WR_COMPL_V(1));
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2585 flowc->mnemval[0].mnemonic = FW_FLOWC_MNEM_PFNVFN;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2586 flowc->mnemval[0].val = cpu_to_be32(FW_PFVF_CMD_PFN_V(adap->pf));
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2587 flowc->mnemval[1].mnemonic = FW_FLOWC_MNEM_CH;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2588 flowc->mnemval[1].val = cpu_to_be32(pi->tx_chan);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2589 flowc->mnemval[2].mnemonic = FW_FLOWC_MNEM_PORT;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2590 flowc->mnemval[2].val = cpu_to_be32(pi->tx_chan);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2591 flowc->mnemval[3].mnemonic = FW_FLOWC_MNEM_IQID;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2592 flowc->mnemval[3].val = cpu_to_be32(rxq->rspq.abs_id);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2593 flowc->mnemval[4].mnemonic = FW_FLOWC_MNEM_SCHEDCLASS;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2594 flowc->mnemval[4].val = cpu_to_be32(tc);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2595 flowc->mnemval[5].mnemonic = FW_FLOWC_MNEM_EOSTATE;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2596 flowc->mnemval[5].val = cpu_to_be32(tc == FW_SCHED_CLS_NONE ?
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2597 FW_FLOWC_MNEM_EOSTATE_CLOSING :
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2598 FW_FLOWC_MNEM_EOSTATE_ESTABLISHED);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2599
69422a7e5d578a Rahul Lakkireddy 2020-04-30 2600 /* Free up any pending skbs to ensure there's room for
69422a7e5d578a Rahul Lakkireddy 2020-04-30 2601 * termination FLOWC.
69422a7e5d578a Rahul Lakkireddy 2020-04-30 2602 */
69422a7e5d578a Rahul Lakkireddy 2020-04-30 2603 if (tc == FW_SCHED_CLS_NONE)
69422a7e5d578a Rahul Lakkireddy 2020-04-30 2604 eosw_txq_flush_pending_skbs(eosw_txq);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2605
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2606 ret = eosw_txq_enqueue(eosw_txq, skb);
52bfcdd87e83d9 Íñigo Huguet 2021-05-05 2607 if (ret)
52bfcdd87e83d9 Íñigo Huguet 2021-05-05 2608 goto out_free_skb;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2609
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2610 eosw_txq->state = next_state;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2611 eosw_txq->flowc_idx = eosw_txq->pidx;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2612 eosw_txq_advance(eosw_txq, 1);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2613 ethofld_xmit(dev, eosw_txq);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2614
52bfcdd87e83d9 Íñigo Huguet 2021-05-05 2615 spin_unlock_bh(&eosw_txq->lock);
52bfcdd87e83d9 Íñigo Huguet 2021-05-05 2616 return 0;
52bfcdd87e83d9 Íñigo Huguet 2021-05-05 2617
52bfcdd87e83d9 Íñigo Huguet 2021-05-05 2618 out_free_skb:
52bfcdd87e83d9 Íñigo Huguet 2021-05-05 2619 dev_consume_skb_any(skb);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2620 spin_unlock_bh(&eosw_txq->lock);
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2621 return ret;
0e395b3cb1fb82 Rahul Lakkireddy 2019-11-07 2622 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
3 months, 2 weeks
[aa:mapcount_deshare 20/27] mm/gup.c:2756:3: error: implicit declaration of function 'mm_set_has_pinned_flag'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git mapcount_deshare
head: 3e2f198cce0c1792ad71d6d81974b091019b6483
commit: 8dec302e87453234fc7ac1cf4d09e4d577a06cf3 [20/27] mm: gup: pack has_pinned in MMF_HAS_PINNED
config: arm-randconfig-r014-20210511 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project a0fed635fe1701470062495a6ffee1c608f3f1bc)
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://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git/commit/?id=...
git remote add aa https://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git
git fetch --no-tags aa mapcount_deshare
git checkout 8dec302e87453234fc7ac1cf4d09e4d577a06cf3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm
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 >>):
>> mm/gup.c:2756:3: error: implicit declaration of function 'mm_set_has_pinned_flag' [-Werror,-Wimplicit-function-declaration]
mm_set_has_pinned_flag(¤t->mm->flags);
^
1 error generated.
vim +/mm_set_has_pinned_flag +2756 mm/gup.c
2740
2741 static int internal_get_user_pages_fast(unsigned long start,
2742 unsigned long nr_pages,
2743 unsigned int gup_flags,
2744 struct page **pages)
2745 {
2746 unsigned long len, end;
2747 unsigned long nr_pinned;
2748 int ret;
2749
2750 if (WARN_ON_ONCE(gup_flags & ~(FOLL_WRITE | FOLL_LONGTERM |
2751 FOLL_FORCE | FOLL_PIN | FOLL_GET |
2752 FOLL_FAST_ONLY)))
2753 return -EINVAL;
2754
2755 if (gup_flags & FOLL_PIN)
> 2756 mm_set_has_pinned_flag(¤t->mm->flags);
2757
2758 if (!(gup_flags & FOLL_FAST_ONLY))
2759 might_lock_read(¤t->mm->mmap_lock);
2760
2761 start = untagged_addr(start) & PAGE_MASK;
2762 len = nr_pages << PAGE_SHIFT;
2763 if (check_add_overflow(start, len, &end))
2764 return 0;
2765 if (unlikely(!access_ok((void __user *)start, len)))
2766 return -EFAULT;
2767
2768 nr_pinned = lockless_pages_from_mm(start, end, gup_flags, pages);
2769 if (nr_pinned == nr_pages || gup_flags & FOLL_FAST_ONLY)
2770 return nr_pinned;
2771
2772 /* Slow path: try to get the remaining pages with get_user_pages */
2773 start += nr_pinned << PAGE_SHIFT;
2774 pages += nr_pinned;
2775 ret = __gup_longterm_unlocked(start, nr_pages - nr_pinned, gup_flags,
2776 pages);
2777 if (ret < 0) {
2778 /*
2779 * The caller has to unpin the pages we already pinned so
2780 * returning -errno is not an option
2781 */
2782 if (nr_pinned)
2783 return nr_pinned;
2784 return ret;
2785 }
2786 return ret + nr_pinned;
2787 }
2788
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
6 months, 1 week
[PATCH v4 0/3] Add ilitek ili9341 panel driver
by dillon.minfei@gmail.com
From: Dillon Min <dillon.minfei(a)gmail.com>
Since the st,sf-tc240t-9370-t dts binding already exist in stm32f429-disco.dts
but, the panel driver didn't get accepted from mainline. it's time to submit
patch fot it.
This driver can support two different interface by different dts bindings:
- spi+dpi, use spi to configure register, dpi for graphic data.
st,sf-tc240t-9370-t
- only spi, just like tiny/ili9341.c (actually, this part is copy from tiny)
adafruit,yx240qv29
I was submited the first patch last year, you can find it at [1].
this patch has one major difference from that one, which is replace the low
level communication way, from spi_sync() to mipi_dbi_{command,
command_stackbuf}() interface, referred from Linus's patch [2].
both the two dpi/dbi interface was tested on stm32f429-disco board, if anyone
want to verify this patch, you need apply the clk patch for this board first,
you can get it from [3].
[1] "drm/panel: Add ilitek ili9341 panel driver"
https://lore.kernel.org/lkml/1590378348-8115-7-git-send-email-dillon.minf...
[2] "drm/panel: s6e63m0: Switch to DBI abstraction for SPI"
https://lore.kernel.org/dri-devel/20210611214243.669892-1-linus.walleij@l...
[3]
https://lore.kernel.org/lkml/1590378348-8115-6-git-send-email-dillon.minf...
v4:
- fix m68k-allmodconfig build error which reported by lkp, thanks.
- add Copyright 2018 David Lechner <david(a)lechnology.com>.
v3 link:
https://lore.kernel.org/lkml/1627013203-23099-1-git-send-email-dillon.min...
v3:
- add Fixes tags.
- collect reviewed-by tags from linus and jagan.
- replace DRM_ERROR() with dev_err() or drm_err().
- remove kernel-doc markers from struct ili9341_config{}.
- reorder include headers.
- remove the struct device *dev from struct ili9341{}.
- restructure the ili9341_probe() function, add two ili9341_{dbi,dpi)_probe()
to make it more readable according to jagan's suggestion, thanks.
for the full drm driver exist in drm/panel need Sam and Laurent's feedback.
so, not cover this part at this time, will be update later.
v2 link:
https://lore.kernel.org/lkml/1626853288-31223-1-git-send-email-dillon.min...
v2:
- replace vcc regulator to bulk regulators in driver, from linus suggestion.
- fix dtbs_check warnings on ili9341 dts binding check.
- add bulk regulation node in ilitek,ili9341.yaml.
v1 link:
https://lore.kernel.org/lkml/1626430843-23823-1-git-send-email-dillon.min...
Dillon Min (3):
dt-bindings: display: panel: Add ilitek ili9341 panel bindings
ARM: dts: stm32: fix dtbs_check warning on ili9341 dts binding
drm/panel: Add ilitek ili9341 panel driver
.../bindings/display/panel/ilitek,ili9341.yaml | 78 ++
arch/arm/boot/dts/stm32f429-disco.dts | 2 +-
drivers/gpu/drm/panel/Kconfig | 12 +
drivers/gpu/drm/panel/Makefile | 1 +
drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 792 +++++++++++++++++++++
5 files changed, 884 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/display/panel/ilitek,ili9341.yaml
create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9341.c
--
1.9.1
7 months
drivers/media/v4l2-core/v4l2-ioctl.c:303:28: warning: taking address of packed member 'pixelformat' of class or structure 'v4l2_pix_format_mplane' may result in an unaligned pointer value
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8096acd7442e613fad0354fc8dfdb2003cceea0b
commit: e927e1e0f0dd3e353d5556503a71484008692c82 v4l: ioctl: Use %p4cc printk modifier to print FourCC codes
date: 5 months ago
config: mips-randconfig-r004-20210714 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8d69635ed9ecf36fd0ca85906bfde17949671cbe)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e927e1e0f0dd3e353d5556503a71484008692c82
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
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/media/v4l2-core/v4l2-ioctl.c:303:28: warning: taking address of packed member 'pixelformat' of class or structure 'v4l2_pix_format_mplane' may result in an unaligned pointer value [-Waddress-of-packed-member]
mp->width, mp->height, &mp->pixelformat,
^~~~~~~~~~~~~~~
include/linux/printk.h:385:26: note: expanded from macro 'pr_cont'
printk(KERN_CONT fmt, ##__VA_ARGS__)
^~~~~~~~~~~
>> drivers/media/v4l2-core/v4l2-ioctl.c:347:37: warning: taking address of packed member 'pixelformat' of class or structure 'v4l2_sdr_format' may result in an unaligned pointer value [-Waddress-of-packed-member]
pr_cont(", pixelformat=%p4cc\n", &sdr->pixelformat);
^~~~~~~~~~~~~~~~
include/linux/printk.h:385:26: note: expanded from macro 'pr_cont'
printk(KERN_CONT fmt, ##__VA_ARGS__)
^~~~~~~~~~~
>> drivers/media/v4l2-core/v4l2-ioctl.c:353:5: warning: taking address of packed member 'dataformat' of class or structure 'v4l2_meta_format' may result in an unaligned pointer value [-Waddress-of-packed-member]
&meta->dataformat, meta->buffersize);
^~~~~~~~~~~~~~~~
include/linux/printk.h:385:26: note: expanded from macro 'pr_cont'
printk(KERN_CONT fmt, ##__VA_ARGS__)
^~~~~~~~~~~
3 warnings generated.
vim +303 drivers/media/v4l2-core/v4l2-ioctl.c
273
274 static void v4l_print_format(const void *arg, bool write_only)
275 {
276 const struct v4l2_format *p = arg;
277 const struct v4l2_pix_format *pix;
278 const struct v4l2_pix_format_mplane *mp;
279 const struct v4l2_vbi_format *vbi;
280 const struct v4l2_sliced_vbi_format *sliced;
281 const struct v4l2_window *win;
282 const struct v4l2_sdr_format *sdr;
283 const struct v4l2_meta_format *meta;
284 u32 planes;
285 unsigned i;
286
287 pr_cont("type=%s", prt_names(p->type, v4l2_type_names));
288 switch (p->type) {
289 case V4L2_BUF_TYPE_VIDEO_CAPTURE:
290 case V4L2_BUF_TYPE_VIDEO_OUTPUT:
291 pix = &p->fmt.pix;
292 pr_cont(", width=%u, height=%u, pixelformat=%p4cc, field=%s, bytesperline=%u, sizeimage=%u, colorspace=%d, flags=0x%x, ycbcr_enc=%u, quantization=%u, xfer_func=%u\n",
293 pix->width, pix->height, &pix->pixelformat,
294 prt_names(pix->field, v4l2_field_names),
295 pix->bytesperline, pix->sizeimage,
296 pix->colorspace, pix->flags, pix->ycbcr_enc,
297 pix->quantization, pix->xfer_func);
298 break;
299 case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
300 case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE:
301 mp = &p->fmt.pix_mp;
302 pr_cont(", width=%u, height=%u, format=%p4cc, field=%s, colorspace=%d, num_planes=%u, flags=0x%x, ycbcr_enc=%u, quantization=%u, xfer_func=%u\n",
> 303 mp->width, mp->height, &mp->pixelformat,
304 prt_names(mp->field, v4l2_field_names),
305 mp->colorspace, mp->num_planes, mp->flags,
306 mp->ycbcr_enc, mp->quantization, mp->xfer_func);
307 planes = min_t(u32, mp->num_planes, VIDEO_MAX_PLANES);
308 for (i = 0; i < planes; i++)
309 printk(KERN_DEBUG "plane %u: bytesperline=%u sizeimage=%u\n", i,
310 mp->plane_fmt[i].bytesperline,
311 mp->plane_fmt[i].sizeimage);
312 break;
313 case V4L2_BUF_TYPE_VIDEO_OVERLAY:
314 case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
315 win = &p->fmt.win;
316 /* Note: we can't print the clip list here since the clips
317 * pointer is a userspace pointer, not a kernelspace
318 * pointer. */
319 pr_cont(", wxh=%dx%d, x,y=%d,%d, field=%s, chromakey=0x%08x, clipcount=%u, clips=%p, bitmap=%p, global_alpha=0x%02x\n",
320 win->w.width, win->w.height, win->w.left, win->w.top,
321 prt_names(win->field, v4l2_field_names),
322 win->chromakey, win->clipcount, win->clips,
323 win->bitmap, win->global_alpha);
324 break;
325 case V4L2_BUF_TYPE_VBI_CAPTURE:
326 case V4L2_BUF_TYPE_VBI_OUTPUT:
327 vbi = &p->fmt.vbi;
328 pr_cont(", sampling_rate=%u, offset=%u, samples_per_line=%u, sample_format=%p4cc, start=%u,%u, count=%u,%u\n",
329 vbi->sampling_rate, vbi->offset,
330 vbi->samples_per_line, &vbi->sample_format,
331 vbi->start[0], vbi->start[1],
332 vbi->count[0], vbi->count[1]);
333 break;
334 case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
335 case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
336 sliced = &p->fmt.sliced;
337 pr_cont(", service_set=0x%08x, io_size=%d\n",
338 sliced->service_set, sliced->io_size);
339 for (i = 0; i < 24; i++)
340 printk(KERN_DEBUG "line[%02u]=0x%04x, 0x%04x\n", i,
341 sliced->service_lines[0][i],
342 sliced->service_lines[1][i]);
343 break;
344 case V4L2_BUF_TYPE_SDR_CAPTURE:
345 case V4L2_BUF_TYPE_SDR_OUTPUT:
346 sdr = &p->fmt.sdr;
> 347 pr_cont(", pixelformat=%p4cc\n", &sdr->pixelformat);
348 break;
349 case V4L2_BUF_TYPE_META_CAPTURE:
350 case V4L2_BUF_TYPE_META_OUTPUT:
351 meta = &p->fmt.meta;
352 pr_cont(", dataformat=%p4cc, buffersize=%u\n",
> 353 &meta->dataformat, meta->buffersize);
354 break;
355 }
356 }
357
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months