[acrn:4.19/lts 4/85] drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:23:5: warning: no previous prototype for 'process_pipeline_open'

From: kernel test robot
Date: Sun Aug 08 2021 - 22:32:39 EST


tree: https://github.com/projectacrn/acrn-kernel 4.19/lts
head: 8abec6c5ebdace7220ecfa35b317c76f62e29c31
commit: 7b2bb5a7bdf187b11d915fc6e03cd619f5420ce9 [4/85] acrn/vhm/Kconfig: Remove the limitation that acrn can't work with VMAP_STACK
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/projectacrn/acrn-kernel/commit/7b2bb5a7bdf187b11d915fc6e03cd619f5420ce9
git remote add acrn https://github.com/projectacrn/acrn-kernel
git fetch --no-tags acrn 4.19/lts
git checkout 7b2bb5a7bdf187b11d915fc6e03cd619f5420ce9
# save the attached .config to linux build tree
make W=1 ARCH=x86_64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:23:5: warning: no previous prototype for 'process_pipeline_open' [-Wmissing-prototypes]
23 | int process_pipeline_open(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:46:5: warning: no previous prototype for 'process_pipeline_close' [-Wmissing-prototypes]
46 | int process_pipeline_close(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:60:5: warning: no previous prototype for 'process_enum_nodes' [-Wmissing-prototypes]
60 | int process_enum_nodes(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:99:5: warning: no previous prototype for 'process_enum_links' [-Wmissing-prototypes]
99 | int process_enum_links(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:136:5: warning: no previous prototype for 'process_get_supported_framefmt' [-Wmissing-prototypes]
136 | int process_get_supported_framefmt(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:174:5: warning: no previous prototype for 'process_set_framefmt' [-Wmissing-prototypes]
174 | int process_set_framefmt(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:212:5: warning: no previous prototype for 'process_get_framefmt' [-Wmissing-prototypes]
212 | int process_get_framefmt(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:250:5: warning: no previous prototype for 'process_setup_pipe' [-Wmissing-prototypes]
250 | int process_setup_pipe(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:288:5: warning: no previous prototype for 'process_pad_set_sel' [-Wmissing-prototypes]
288 | int process_pad_set_sel(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c:326:5: warning: no previous prototype for 'process_pad_get_sel' [-Wmissing-prototypes]
326 | int process_pad_get_sel(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~
--
drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be.c: In function 'handle_vq_kick':
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be.c:163:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
163 | int ret;
| ^~~
drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be.c:44: warning: Function parameter or member 'busy' not described in 'ipu4_virtio_be_priv'
drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be.c:44: warning: Function parameter or member 'mlock' not described in 'ipu4_virtio_be_priv'
drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be.c:44: warning: Function parameter or member 'slock' not described in 'ipu4_virtio_be_priv'
--
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-stream.c:45:6: warning: no previous prototype for 'cleanup_stream' [-Wmissing-prototypes]
45 | void cleanup_stream(void)
| ^~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-stream.c:150:5: warning: no previous prototype for 'process_set_format' [-Wmissing-prototypes]
150 | int process_set_format(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-stream.c:203:5: warning: no previous prototype for 'process_poll' [-Wmissing-prototypes]
203 | int process_poll(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-stream.c:261:5: warning: no previous prototype for 'process_put_buf' [-Wmissing-prototypes]
261 | int process_put_buf(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-stream.c:313:5: warning: no previous prototype for 'process_get_buf' [-Wmissing-prototypes]
313 | int process_get_buf(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-stream.c:413:5: warning: no previous prototype for 'process_stream_on' [-Wmissing-prototypes]
413 | int process_stream_on(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-stream.c:455:5: warning: no previous prototype for 'process_stream_off' [-Wmissing-prototypes]
455 | int process_stream_off(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~
--
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:15:5: warning: no previous prototype for 'process_psys_mapbuf' [-Wmissing-prototypes]
15 | int process_psys_mapbuf(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:20:5: warning: no previous prototype for 'process_psys_unmapbuf' [-Wmissing-prototypes]
20 | int process_psys_unmapbuf(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:44:5: warning: no previous prototype for 'process_psys_querycap' [-Wmissing-prototypes]
44 | int process_psys_querycap(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:72:5: warning: no previous prototype for 'process_psys_putbuf' [-Wmissing-prototypes]
72 | int process_psys_putbuf(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:77:5: warning: no previous prototype for 'process_psys_qcmd' [-Wmissing-prototypes]
77 | int process_psys_qcmd(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:92:5: warning: no previous prototype for 'process_psys_dqevent' [-Wmissing-prototypes]
92 | int process_psys_dqevent(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:107:5: warning: no previous prototype for 'process_psys_getbuf' [-Wmissing-prototypes]
107 | int process_psys_getbuf(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:122:5: warning: no previous prototype for 'process_psys_get_manifest' [-Wmissing-prototypes]
122 | int process_psys_get_manifest(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:137:5: warning: no previous prototype for 'process_psys_open' [-Wmissing-prototypes]
137 | int process_psys_open(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:155:5: warning: no previous prototype for 'process_psys_close' [-Wmissing-prototypes]
155 | int process_psys_close(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:164:5: warning: no previous prototype for 'process_psys_poll' [-Wmissing-prototypes]
164 | int process_psys_poll(struct ipu4_virtio_req_info *req_info)
| ^~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:177:5: warning: no previous prototype for 'process_psys_mapbuf_thread' [-Wmissing-prototypes]
177 | int process_psys_mapbuf_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:187:5: warning: no previous prototype for 'process_psys_unmapbuf_thread' [-Wmissing-prototypes]
187 | int process_psys_unmapbuf_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:197:5: warning: no previous prototype for 'process_psys_querycap_thread' [-Wmissing-prototypes]
197 | int process_psys_querycap_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:207:5: warning: no previous prototype for 'process_psys_putbuf_thread' [-Wmissing-prototypes]
207 | int process_psys_putbuf_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:217:5: warning: no previous prototype for 'process_psys_qcmd_thread' [-Wmissing-prototypes]
217 | int process_psys_qcmd_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:227:5: warning: no previous prototype for 'process_psys_dqevent_thread' [-Wmissing-prototypes]
227 | int process_psys_dqevent_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:237:5: warning: no previous prototype for 'process_psys_get_manifest_thread' [-Wmissing-prototypes]
237 | int process_psys_get_manifest_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:247:5: warning: no previous prototype for 'process_psys_getbuf_thread' [-Wmissing-prototypes]
247 | int process_psys_getbuf_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:257:5: warning: no previous prototype for 'process_psys_open_thread' [-Wmissing-prototypes]
257 | int process_psys_open_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:267:5: warning: no previous prototype for 'process_psys_close_thread' [-Wmissing-prototypes]
267 | int process_psys_close_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-psys.c:277:5: warning: no previous prototype for 'process_psys_poll_thread' [-Wmissing-prototypes]
277 | int process_psys_poll_thread(void *data)
| ^~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from sound/soc/intel/skylake/virtio/../skl-sst-ipc.h:21,
from sound/soc/intel/skylake/virtio/skl-virtio-common.h:12,
from sound/soc/intel/skylake/virtio/skl-virtio-be.h:14,
from sound/soc/intel/skylake/virtio/skl-virt-audio.c:22:
sound/soc/intel/skylake/virtio/../../common/sst-ipc.h:54:29: warning: 'struct sst_dsp' declared inside parameter list will not be visible outside of this definition or declaration
54 | bool (*is_dsp_busy)(struct sst_dsp *dsp);
| ^~~~~~~
sound/soc/intel/skylake/virtio/../../common/sst-ipc.h:55:32: warning: 'struct sst_dsp' declared inside parameter list will not be visible outside of this definition or declaration
55 | int (*check_dsp_lp_on)(struct sst_dsp *dsp, bool state);
| ^~~~~~~
sound/soc/intel/skylake/virtio/skl-virt-audio.c: In function 'vskl_vbs_handle_kick':
sound/soc/intel/skylake/virtio/skl-virt-audio.c:97:32: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
97 | req->reqs.pio_request.value >= 0 ?
| ^~
sound/soc/intel/skylake/virtio/skl-virt-audio.c: At top level:
>> sound/soc/intel/skylake/virtio/skl-virt-audio.c:111:5: warning: no previous prototype for 'vskl_vbs_init_be' [-Wmissing-prototypes]
111 | int vskl_vbs_init_be(struct vskl *vskl, struct snd_skl_vbe *vbe)
| ^~~~~~~~~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virt-audio.c:139:5: warning: no previous prototype for 'vskl_vbs_register_client' [-Wmissing-prototypes]
139 | int vskl_vbs_register_client(struct snd_skl_vbe *vbe)
| ^~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from sound/soc/intel/skylake/virtio/../skl-sst-ipc.h:21,
from sound/soc/intel/skylake/virtio/skl-virtio-common.h:12,
from sound/soc/intel/skylake/virtio/skl-virtio-be.h:14,
from sound/soc/intel/skylake/virtio/skl-virtio-be.c:32:
sound/soc/intel/skylake/virtio/../../common/sst-ipc.h:54:29: warning: 'struct sst_dsp' declared inside parameter list will not be visible outside of this definition or declaration
54 | bool (*is_dsp_busy)(struct sst_dsp *dsp);
| ^~~~~~~
sound/soc/intel/skylake/virtio/../../common/sst-ipc.h:55:32: warning: 'struct sst_dsp' declared inside parameter list will not be visible outside of this definition or declaration
55 | int (*check_dsp_lp_on)(struct sst_dsp *dsp, bool state);
| ^~~~~~~
In file included from sound/soc/intel/skylake/virtio/skl-virtio-be.c:36:
>> sound/soc/intel/skylake/virtio/../../common/sst-dsp-priv.h:65:42: warning: 'struct sst_pdata' declared inside parameter list will not be visible outside of this definition or declaration
65 | int (*init)(struct sst_dsp *sst, struct sst_pdata *pdata);
| ^~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:45:28: warning: no previous prototype for 'vbe_find_substream_info_by_pcm' [-Wmissing-prototypes]
45 | struct vbe_substream_info *vbe_find_substream_info_by_pcm(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:59:28: warning: no previous prototype for 'vbe_find_substream_info' [-Wmissing-prototypes]
59 | struct vbe_substream_info *vbe_find_substream_info(
| ^~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:82:29: warning: no previous prototype for 'vbe_skl_find_kcontrol_widget' [-Wmissing-prototypes]
82 | struct snd_soc_dapm_widget *vbe_skl_find_kcontrol_widget(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:98:25: warning: no previous prototype for 'vbe_skl_find_tplg_domain_by_name' [-Wmissing-prototypes]
98 | struct skl_tplg_domain *vbe_skl_find_tplg_domain_by_name(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:112:25: warning: no previous prototype for 'vbe_skl_find_tplg_domain_by_id' [-Wmissing-prototypes]
112 | struct skl_tplg_domain *vbe_skl_find_tplg_domain_by_id(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:154:17: warning: no previous prototype for 'vbe_skl_find_pcm_by_name' [-Wmissing-prototypes]
154 | struct snd_pcm *vbe_skl_find_pcm_by_name(struct skl *skl, char *pcm_name)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:203:6: warning: no previous prototype for 'vbe_stream_update' [-Wmissing-prototypes]
203 | void vbe_stream_update(struct hdac_bus *bus, struct hdac_stream *hstr)
| ^~~~~~~~~~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:214:5: warning: no previous prototype for 'vbe_send_kctl_msg' [-Wmissing-prototypes]
214 | int vbe_send_kctl_msg(struct snd_kcontrol *kcontrol,
| ^~~~~~~~~~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:262:5: warning: no previous prototype for 'vbe_skl_allocate_runtime' [-Wmissing-prototypes]
262 | int vbe_skl_allocate_runtime(struct snd_soc_card *card,
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:307:6: warning: no previous prototype for 'vbe_skl_initialize_substream_runtime' [-Wmissing-prototypes]
307 | void vbe_skl_initialize_substream_runtime(struct snd_pcm_runtime *runtime,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/intel/skylake/virtio/skl-virtio-be.c: In function 'vbe_skl_pcm_open':
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:491:26: warning: variable 'runtime' set but not used [-Wunused-but-set-variable]
491 | struct snd_pcm_runtime *runtime;
| ^~~~~~~
sound/soc/intel/skylake/virtio/skl-virtio-be.c: At top level:
>> sound/soc/intel/skylake/virtio/skl-virtio-be.c:949:5: warning: no previous prototype for 'vbe_skl_msg_kcontrol_handle' [-Wmissing-prototypes]
949 | int vbe_skl_msg_kcontrol_handle(struct snd_skl_vbe *vbe,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/process_pipeline_open +23 drivers/media/pci/intel/virtio/../virtio/intel-ipu4-virtio-be-pipeline.c

705730750ee6dc Yew, Chang Ching 2018-10-23 22
f1679a8492454e Ong Hock Yu 2018-10-02 @23 int process_pipeline_open(struct ipu4_virtio_req_info *req_info)
705730750ee6dc Yew, Chang Ching 2018-10-23 24 {
f1679a8492454e Ong Hock Yu 2018-10-02 25 int domid = req_info->domid;
705730750ee6dc Yew, Chang Ching 2018-10-23 26 if (guestID != -1 && guestID != domid) {
705730750ee6dc Yew, Chang Ching 2018-10-23 27 pr_err("%s: pipeline device already opened by other guest! %d %d", __func__, guestID, domid);
f1679a8492454e Ong Hock Yu 2018-10-02 28 return IPU4_REQ_ERROR;
705730750ee6dc Yew, Chang Ching 2018-10-23 29 }
705730750ee6dc Yew, Chang Ching 2018-10-23 30
705730750ee6dc Yew, Chang Ching 2018-10-23 31 pr_info("process_device_open: /dev/intel_pipeline");
c5cdb3f98e3800 Poluri, Sarat Chandra 2019-02-19 32 if (!pipeline) {
705730750ee6dc Yew, Chang Ching 2018-10-23 33 pipeline = filp_open("/dev/intel_pipeline", O_RDWR | O_NONBLOCK, 0);
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 34 if (IS_ERR(pipeline) || !pipeline) {
c5cdb3f98e3800 Poluri, Sarat Chandra 2019-02-19 35 pr_err("%s: no pipeline device exists on host OS",
c5cdb3f98e3800 Poluri, Sarat Chandra 2019-02-19 36 __func__);
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 37 pipeline = NULL;
c5cdb3f98e3800 Poluri, Sarat Chandra 2019-02-19 38 return IPU4_REQ_ERROR;
c5cdb3f98e3800 Poluri, Sarat Chandra 2019-02-19 39 }
c5cdb3f98e3800 Poluri, Sarat Chandra 2019-02-19 40 }
705730750ee6dc Yew, Chang Ching 2018-10-23 41 guestID = domid;
705730750ee6dc Yew, Chang Ching 2018-10-23 42
f1679a8492454e Ong Hock Yu 2018-10-02 43 return IPU4_REQ_PROCESSED;
705730750ee6dc Yew, Chang Ching 2018-10-23 44 }
705730750ee6dc Yew, Chang Ching 2018-10-23 45
f1679a8492454e Ong Hock Yu 2018-10-02 @46 int process_pipeline_close(struct ipu4_virtio_req_info *req_info)
705730750ee6dc Yew, Chang Ching 2018-10-23 47 {
f1679a8492454e Ong Hock Yu 2018-10-02 48 struct ipu4_virtio_req *req = req_info->request;
f1679a8492454e Ong Hock Yu 2018-10-02 49
705730750ee6dc Yew, Chang Ching 2018-10-23 50 pr_info("%s: %d", __func__, req->op[0]);
705730750ee6dc Yew, Chang Ching 2018-10-23 51
0daa3a5b7db6ce Ong Hock Yu 2018-11-13 52 if (pipeline)
705730750ee6dc Yew, Chang Ching 2018-10-23 53 filp_close(pipeline, 0);
705730750ee6dc Yew, Chang Ching 2018-10-23 54 guestID = -1;
0daa3a5b7db6ce Ong Hock Yu 2018-11-13 55 pipeline = NULL;
705730750ee6dc Yew, Chang Ching 2018-10-23 56
f1679a8492454e Ong Hock Yu 2018-10-02 57 return IPU4_REQ_PROCESSED;
705730750ee6dc Yew, Chang Ching 2018-10-23 58 }
705730750ee6dc Yew, Chang Ching 2018-10-23 59
f1679a8492454e Ong Hock Yu 2018-10-02 @60 int process_enum_nodes(struct ipu4_virtio_req_info *req_info)
705730750ee6dc Yew, Chang Ching 2018-10-23 61 {
705730750ee6dc Yew, Chang Ching 2018-10-23 62 int err = 0;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 63 struct ici_isys_pipeline_device *dev;
705730750ee6dc Yew, Chang Ching 2018-10-23 64 struct ici_node_desc *host_virt;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 65 struct ipu4_virtio_req *req;
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 66 int domid;
705730750ee6dc Yew, Chang Ching 2018-10-23 67
705730750ee6dc Yew, Chang Ching 2018-10-23 68 pr_debug("%s\n", __func__);
705730750ee6dc Yew, Chang Ching 2018-10-23 69
c4c7db6fd2827f Ong Hock Yu 2018-12-23 70 if (!pipeline) {
c4c7db6fd2827f Ong Hock Yu 2018-12-23 71 pr_err("%s: NULL pipeline", __func__);
c4c7db6fd2827f Ong Hock Yu 2018-12-23 72 return IPU4_REQ_ERROR;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 73 }
c4c7db6fd2827f Ong Hock Yu 2018-12-23 74 dev = pipeline->private_data;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 75
c4c7db6fd2827f Ong Hock Yu 2018-12-23 76 if (!req_info) {
c4c7db6fd2827f Ong Hock Yu 2018-12-23 77 pr_err("%s: NULL req_info", __func__);
c4c7db6fd2827f Ong Hock Yu 2018-12-23 78 return IPU4_REQ_ERROR;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 79 }
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 80 domid = req_info->domid;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 81 req = req_info->request;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 82
7f335ef6da9053 Ong Hock Yu 2018-11-23 83 host_virt = map_guest_phys(domid, req->payload,
7f335ef6da9053 Ong Hock Yu 2018-11-23 84 sizeof(struct ici_node_desc));
705730750ee6dc Yew, Chang Ching 2018-10-23 85 if (host_virt == NULL) {
705730750ee6dc Yew, Chang Ching 2018-10-23 86 pr_err("process_enum_nodes: NULL host_virt");
f1679a8492454e Ong Hock Yu 2018-10-02 87 return IPU4_REQ_ERROR;
705730750ee6dc Yew, Chang Ching 2018-10-23 88 }
705730750ee6dc Yew, Chang Ching 2018-10-23 89
705730750ee6dc Yew, Chang Ching 2018-10-23 90 err = dev->pipeline_ioctl_ops->pipeline_enum_nodes(pipeline, dev, host_virt);
705730750ee6dc Yew, Chang Ching 2018-10-23 91
caaa9a19db1c41 Ong Hock Yu 2018-11-14 92 unmap_guest_phys(domid, req->payload);
f1679a8492454e Ong Hock Yu 2018-10-02 93 if (err)
f1679a8492454e Ong Hock Yu 2018-10-02 94 return IPU4_REQ_ERROR;
f1679a8492454e Ong Hock Yu 2018-10-02 95 else
f1679a8492454e Ong Hock Yu 2018-10-02 96 return IPU4_REQ_PROCESSED;
705730750ee6dc Yew, Chang Ching 2018-10-23 97 }
705730750ee6dc Yew, Chang Ching 2018-10-23 98
f1679a8492454e Ong Hock Yu 2018-10-02 @99 int process_enum_links(struct ipu4_virtio_req_info *req_info)
705730750ee6dc Yew, Chang Ching 2018-10-23 100 {
705730750ee6dc Yew, Chang Ching 2018-10-23 101 int err = 0;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 102 struct ici_isys_pipeline_device *dev;
705730750ee6dc Yew, Chang Ching 2018-10-23 103 struct ici_links_query *host_virt;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 104 struct ipu4_virtio_req *req;
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 105 int domid;
705730750ee6dc Yew, Chang Ching 2018-10-23 106
705730750ee6dc Yew, Chang Ching 2018-10-23 107 pr_debug("%s\n", __func__);
705730750ee6dc Yew, Chang Ching 2018-10-23 108
c4c7db6fd2827f Ong Hock Yu 2018-12-23 109 if (!pipeline) {
c4c7db6fd2827f Ong Hock Yu 2018-12-23 110 pr_err("%s: NULL pipeline", __func__);
c4c7db6fd2827f Ong Hock Yu 2018-12-23 111 return IPU4_REQ_ERROR;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 112 }
c4c7db6fd2827f Ong Hock Yu 2018-12-23 113 dev = pipeline->private_data;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 114
c4c7db6fd2827f Ong Hock Yu 2018-12-23 115 if (!req_info) {
c4c7db6fd2827f Ong Hock Yu 2018-12-23 116 pr_err("%s: NULL req_info", __func__);
c4c7db6fd2827f Ong Hock Yu 2018-12-23 117 return IPU4_REQ_ERROR;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 118 }
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 119 domid = req_info->domid;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 120 req = req_info->request;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 121
7f335ef6da9053 Ong Hock Yu 2018-11-23 122 host_virt = map_guest_phys(domid, req->payload,
7f335ef6da9053 Ong Hock Yu 2018-11-23 123 sizeof(struct ici_links_query));
705730750ee6dc Yew, Chang Ching 2018-10-23 124 if (host_virt == NULL) {
705730750ee6dc Yew, Chang Ching 2018-10-23 125 pr_err("%s: NULL host_virt\n", __func__);
f1679a8492454e Ong Hock Yu 2018-10-02 126 return IPU4_REQ_ERROR;
705730750ee6dc Yew, Chang Ching 2018-10-23 127 }
705730750ee6dc Yew, Chang Ching 2018-10-23 128 err = dev->pipeline_ioctl_ops->pipeline_enum_links(pipeline, dev, host_virt);
705730750ee6dc Yew, Chang Ching 2018-10-23 129
caaa9a19db1c41 Ong Hock Yu 2018-11-14 130 unmap_guest_phys(domid, req->payload);
f1679a8492454e Ong Hock Yu 2018-10-02 131 if (err)
f1679a8492454e Ong Hock Yu 2018-10-02 132 return IPU4_REQ_ERROR;
f1679a8492454e Ong Hock Yu 2018-10-02 133 else
f1679a8492454e Ong Hock Yu 2018-10-02 134 return IPU4_REQ_PROCESSED;
705730750ee6dc Yew, Chang Ching 2018-10-23 135 }
f1679a8492454e Ong Hock Yu 2018-10-02 @136 int process_get_supported_framefmt(struct ipu4_virtio_req_info *req_info)
705730750ee6dc Yew, Chang Ching 2018-10-23 137 {
705730750ee6dc Yew, Chang Ching 2018-10-23 138 int err = 0;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 139 struct ici_isys_pipeline_device *dev;
705730750ee6dc Yew, Chang Ching 2018-10-23 140 struct ici_pad_supported_format_desc *host_virt;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 141 struct ipu4_virtio_req *req;
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 142 int domid;
705730750ee6dc Yew, Chang Ching 2018-10-23 143
705730750ee6dc Yew, Chang Ching 2018-10-23 144 pr_debug("%s\n", __func__);
705730750ee6dc Yew, Chang Ching 2018-10-23 145
c4c7db6fd2827f Ong Hock Yu 2018-12-23 146 if (!pipeline) {
c4c7db6fd2827f Ong Hock Yu 2018-12-23 147 pr_err("%s: NULL pipeline", __func__);
c4c7db6fd2827f Ong Hock Yu 2018-12-23 148 return IPU4_REQ_ERROR;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 149 }
c4c7db6fd2827f Ong Hock Yu 2018-12-23 150 dev = pipeline->private_data;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 151
c4c7db6fd2827f Ong Hock Yu 2018-12-23 152 if (!req_info) {
c4c7db6fd2827f Ong Hock Yu 2018-12-23 153 pr_err("%s: NULL req_info", __func__);
c4c7db6fd2827f Ong Hock Yu 2018-12-23 154 return IPU4_REQ_ERROR;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 155 }
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 156 domid = req_info->domid;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 157 req = req_info->request;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 158
7f335ef6da9053 Ong Hock Yu 2018-11-23 159 host_virt = map_guest_phys(domid, req->payload,
7f335ef6da9053 Ong Hock Yu 2018-11-23 160 sizeof(struct ici_pad_supported_format_desc));
705730750ee6dc Yew, Chang Ching 2018-10-23 161 if (host_virt == NULL) {
705730750ee6dc Yew, Chang Ching 2018-10-23 162 pr_err("%s: NULL host_virt\n", __func__);
f1679a8492454e Ong Hock Yu 2018-10-02 163 return IPU4_REQ_ERROR;
705730750ee6dc Yew, Chang Ching 2018-10-23 164 }
705730750ee6dc Yew, Chang Ching 2018-10-23 165 err = dev->pipeline_ioctl_ops->pad_get_supported_format(pipeline, dev, host_virt);
705730750ee6dc Yew, Chang Ching 2018-10-23 166
caaa9a19db1c41 Ong Hock Yu 2018-11-14 167 unmap_guest_phys(domid, req->payload);
f1679a8492454e Ong Hock Yu 2018-10-02 168 if (err)
f1679a8492454e Ong Hock Yu 2018-10-02 169 return IPU4_REQ_ERROR;
f1679a8492454e Ong Hock Yu 2018-10-02 170 else
f1679a8492454e Ong Hock Yu 2018-10-02 171 return IPU4_REQ_PROCESSED;
705730750ee6dc Yew, Chang Ching 2018-10-23 172 }
705730750ee6dc Yew, Chang Ching 2018-10-23 173
f1679a8492454e Ong Hock Yu 2018-10-02 @174 int process_set_framefmt(struct ipu4_virtio_req_info *req_info)
705730750ee6dc Yew, Chang Ching 2018-10-23 175 {
705730750ee6dc Yew, Chang Ching 2018-10-23 176 int err = 0;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 177 struct ici_isys_pipeline_device *dev;
705730750ee6dc Yew, Chang Ching 2018-10-23 178 struct ici_pad_framefmt *host_virt;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 179 struct ipu4_virtio_req *req;
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 180 int domid;
705730750ee6dc Yew, Chang Ching 2018-10-23 181
705730750ee6dc Yew, Chang Ching 2018-10-23 182 pr_debug("%s\n", __func__);
705730750ee6dc Yew, Chang Ching 2018-10-23 183
c4c7db6fd2827f Ong Hock Yu 2018-12-23 184 if (!pipeline) {
c4c7db6fd2827f Ong Hock Yu 2018-12-23 185 pr_err("%s: NULL pipeline", __func__);
c4c7db6fd2827f Ong Hock Yu 2018-12-23 186 return IPU4_REQ_ERROR;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 187 }
c4c7db6fd2827f Ong Hock Yu 2018-12-23 188 dev = pipeline->private_data;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 189
c4c7db6fd2827f Ong Hock Yu 2018-12-23 190 if (!req_info) {
c4c7db6fd2827f Ong Hock Yu 2018-12-23 191 pr_err("%s: NULL req_info", __func__);
c4c7db6fd2827f Ong Hock Yu 2018-12-23 192 return IPU4_REQ_ERROR;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 193 }
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 194 domid = req_info->domid;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 195 req = req_info->request;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 196
7f335ef6da9053 Ong Hock Yu 2018-11-23 197 host_virt = map_guest_phys(domid, req->payload,
7f335ef6da9053 Ong Hock Yu 2018-11-23 198 sizeof(struct ici_pad_framefmt));
705730750ee6dc Yew, Chang Ching 2018-10-23 199 if (host_virt == NULL) {
705730750ee6dc Yew, Chang Ching 2018-10-23 200 pr_err("%s: NULL host_virt\n", __func__);
f1679a8492454e Ong Hock Yu 2018-10-02 201 return IPU4_REQ_ERROR;
705730750ee6dc Yew, Chang Ching 2018-10-23 202 }
705730750ee6dc Yew, Chang Ching 2018-10-23 203 err = dev->pipeline_ioctl_ops->pad_set_ffmt(pipeline, dev, host_virt);
705730750ee6dc Yew, Chang Ching 2018-10-23 204
caaa9a19db1c41 Ong Hock Yu 2018-11-14 205 unmap_guest_phys(domid, req->payload);
f1679a8492454e Ong Hock Yu 2018-10-02 206 if (err)
f1679a8492454e Ong Hock Yu 2018-10-02 207 return IPU4_REQ_ERROR;
f1679a8492454e Ong Hock Yu 2018-10-02 208 else
f1679a8492454e Ong Hock Yu 2018-10-02 209 return IPU4_REQ_PROCESSED;
705730750ee6dc Yew, Chang Ching 2018-10-23 210 }
705730750ee6dc Yew, Chang Ching 2018-10-23 211
f1679a8492454e Ong Hock Yu 2018-10-02 @212 int process_get_framefmt(struct ipu4_virtio_req_info *req_info)
705730750ee6dc Yew, Chang Ching 2018-10-23 213 {
705730750ee6dc Yew, Chang Ching 2018-10-23 214 int err = 0;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 215 struct ici_isys_pipeline_device *dev;
705730750ee6dc Yew, Chang Ching 2018-10-23 216 struct ici_pad_framefmt *host_virt;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 217 struct ipu4_virtio_req *req;
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 218 int domid;
705730750ee6dc Yew, Chang Ching 2018-10-23 219
705730750ee6dc Yew, Chang Ching 2018-10-23 220 pr_debug("%s\n", __func__);
705730750ee6dc Yew, Chang Ching 2018-10-23 221
c4c7db6fd2827f Ong Hock Yu 2018-12-23 222 if (!pipeline) {
c4c7db6fd2827f Ong Hock Yu 2018-12-23 223 pr_err("%s: NULL pipeline", __func__);
c4c7db6fd2827f Ong Hock Yu 2018-12-23 224 return IPU4_REQ_ERROR;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 225 }
c4c7db6fd2827f Ong Hock Yu 2018-12-23 226 dev = pipeline->private_data;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 227
c4c7db6fd2827f Ong Hock Yu 2018-12-23 228 if (!req_info) {
c4c7db6fd2827f Ong Hock Yu 2018-12-23 229 pr_err("%s: NULL req_info", __func__);
c4c7db6fd2827f Ong Hock Yu 2018-12-23 230 return IPU4_REQ_ERROR;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 231 }
48c5267213af77 Poluri, Sarat Chandra 2019-03-12 232 domid = req_info->domid;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 233 req = req_info->request;
c4c7db6fd2827f Ong Hock Yu 2018-12-23 234
7f335ef6da9053 Ong Hock Yu 2018-11-23 235 host_virt = map_guest_phys(domid, req->payload,
7f335ef6da9053 Ong Hock Yu 2018-11-23 236 sizeof(struct ici_pad_framefmt));
705730750ee6dc Yew, Chang Ching 2018-10-23 237 if (host_virt == NULL) {
705730750ee6dc Yew, Chang Ching 2018-10-23 238 pr_err("%s: NULL host_virt\n", __func__);
f1679a8492454e Ong Hock Yu 2018-10-02 239 return IPU4_REQ_ERROR;
705730750ee6dc Yew, Chang Ching 2018-10-23 240 }
705730750ee6dc Yew, Chang Ching 2018-10-23 241 err = dev->pipeline_ioctl_ops->pad_get_ffmt(pipeline, dev, host_virt);
705730750ee6dc Yew, Chang Ching 2018-10-23 242
caaa9a19db1c41 Ong Hock Yu 2018-11-14 243 unmap_guest_phys(domid, req->payload);
f1679a8492454e Ong Hock Yu 2018-10-02 244 if (err)
f1679a8492454e Ong Hock Yu 2018-10-02 245 return IPU4_REQ_ERROR;
f1679a8492454e Ong Hock Yu 2018-10-02 246 else
f1679a8492454e Ong Hock Yu 2018-10-02 247 return IPU4_REQ_PROCESSED;
705730750ee6dc Yew, Chang Ching 2018-10-23 248 }
705730750ee6dc Yew, Chang Ching 2018-10-23 249

:::::: The code at line 23 was first introduced by commit
:::::: f1679a8492454ef802fe0d64f550f0c2ba77da8c media: intel-ipu4: [VIRT] Add multi streaming support on guest OS

:::::: TO: Ong Hock Yu <ong.hock.yu@xxxxxxxxx>
:::::: CC: Gross, Mark <mark.gross@xxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip