- 26 11月, 2020 36 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Fix existing issues at the kernel-doc markups and add them to the vidtv.rst file. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Update the vidtv documentation with the relevant changes after the last patches. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
- pass struct vidtv_psi_eit_write_args as a pointer; - avoid initializing struct fields multiple times. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
- pass struct vidtv_psi_nit_write_args as a pointer; - avoid initializing struct fields multiple times. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
- pass struct vidtv_psi_sdt_write_args as a pointer; - avoid initializing struct fields multiple times. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
- Pass struct vidtv_psi_pmt_write_args as a pointer; - Avoid initializing structs multiple times. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Avoid initializing the structs multiple times and pass the PAT struct as a pointer, instead of a var. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
- Pass struct header_write_args as a pointer, instead of passing as a var; - Initialize the psi_args struct only once. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
This function initializes the psi_args twice, and receives a struct, instead of a pointer to a struct. Clean it up. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Cleanup the table_section_crc32_write_into() function by initializing struct psi_write_args only once and by passing the args as a pointer. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
The function vidtv_psi_ts_psi_write_into() initializes the ts_header fields several times, and receives a struct as argument, instead of using a pointer to struct. Cleanup the function, in order to reduce its stack usage and to avoid initializing the ts_header multiple times. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
The current event is using an undefined date. Instead, it should be the timestamp when the EIT table was generated. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
The service_id there should be equal to the one used on other tables, otherwise, EIT entries won't be valid. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
As the service currently broadcasts just audio, change the service type to reflect that. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
On normal TS streams, the NIT table has its own entry at PAT, but not at PMT. While here, properly handle alloc problems when creating PMT entries. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
The EIT header ID field should not contain the network ID, but, instead, the service_id of the program described at EIT. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
As defined at ETSI TS 101 162, original network IDs up to 0xfebf are reserved for registration at dvb.org. Let's use, instead, an original network ID at the range 0xff00-0xffff, as this is for private temporary usage. As the same value is also used for the network ID, the range 0xff01-0xffff also fits better, as values lower than that depend if the network is used for satellite, terrestrial, cable of CI. While here, move the TS ID to the bridge code, where it is used, and change its value, as it was identical to the value previously used by network ID. While we could keep the same value, let's change it, just to make easier to check for the new code while reading it with DVB tools like dvbinspector. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Place some text at EIT data, and use ISO 8859-15 encoding for the German letter "ü" (u mit umlat) letter. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Initialize the destination buffer/size and the initial offset when creating the local var. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Instead of first zeroing all fields at the mux structs and then filling, do some initialization for the const data when they're created. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Right now, there's no need to access the length of some tables. So, drop the unused functions. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Do some cleanups at the coding style of the driver: - remove "inline" declarations; - use reverse xmas-tree for local var declarations; - Adjust some indent to avoid breaking 80-cols; - Cleanup some comments. No functional changes. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Minimize the number of data copies and initialization at the code, passing them as pointers instead of duplicating the data. The only case where we're keeping the data copy is at vidtv_pes_write_h(), as it needs a copy of the passed arguments. On such case, we're being more explicit. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Initialize the fields of the arguments directly when declaring it, and pass the args as a pointer, instead of copying them. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
The sheet music used to generate the tones had a few polyphonic notes. Due to that, its conversion to a tones sequence had a few errors. Also, due to a bug at the tone generator, it was missing the pause at the initial compass. Fix them. While here, reduce the compass to 100bpm. The music was converted from a Music XML file using this small script: <snip> my $count = 0; my $silent = 0; my $note; my $octave; print "\t"; while (<>) { $note = $1 if (m,\<step\>(.*)\</step\>,); $octave = "_$1" if (m,\<octave\>(.*)\</octave\>,); if (m,\<alter\>1\</alter\>,) { $note .= "S"; $sharp = 1; } if (m,\<rest/\>,) { $note = "SILENT"; $silent = 1; } if (m,\<duration\>(.*)\</duration\>,) { printf "{ NOTE_${note}${octave}, %d},", $1 * 128 / 480; $count++; if ($silent || $count >= 3) { print "\n\t"; $count = 0; $silent = 0; } else { print " "; print " " if (!$sharp); } $sharp = 0; $note = ""; $octave = ""; }; }; print "\n"; </snip> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
The tone generator logic were repeating the song after the first silent. There's also a wrong logic at the note offset calculus, which may create some noise. Fix it. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
While the original plan was to use the first movement of the 5th Symphony, it was opted to use the Für Elise song, instead. Fix it. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
The Linux stack is too short. So, using recursive functions is a very bad idea. Convert those into non-recursive ones. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
Currently, there are not checks if something gets bad during memory allocation: it will simply use NULL pointers and crash. Add error path at the logic which allocates memory for the MPEG-TS generator code, propagating the errors up to the vidtv_bridge. Now, if something wents bad, start_streaming will return an error that userspace can detect: ERROR DMX_SET_PES_FILTER failed (PID = 0x2000): 12 Cannot allocate memory and the driver doesn't crash. Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Mauro Carvalho Chehab 提交于
- Place the includes on alphabetical order; - get rid of asm/byteorder.h; - add bug.h at vidtv_s302m.c, as it is needed by inux/fixp-arith.h Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Daniel W. S. Almeida 提交于
Some variables were only assigned once but were used in while loops as if they had been updated at every iteration. Fix this. Signed-off-by: NDaniel W. S. Almeida <dwlsalmeida@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Daniel W. S. Almeida 提交于
A few fields used only by the tone generator in the s302m encoder are stored in struct vidtv_encoder. Move them into struct vidtv_s302m_ctx instead. While we are at it: fix a checkpatch warning for long lines. Signed-off-by: NDaniel W. S. Almeida <dwlsalmeida@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Daniel W. S. Almeida 提交于
The code to append a descriptor to the end of a chain is repeated throughout the psi generator code. Extract it into its own helper function to avoid cluttering. Signed-off-by: NDaniel W. S. Almeida <dwlsalmeida@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Daniel W. S. Almeida 提交于
Implement an Event Information Table (EIT) as per EN 300 468 5.2.4. The EIT provides information in chronological order regarding the events contained within each service. For now only present event information is supported. [mchehab+huawei@kernel.org: removed an extra blank line] Signed-off-by: NDaniel W. S. Almeida <dwlsalmeida@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Daniel W. S. Almeida 提交于
Add a Network Information Table (NIT) as specified in ETSI EN 300 468. This table conveys information relating to the physical organization of the multiplexes carried via a given network and the characteristics of the network itself. It is conveyed in the output of vidtv as packets with TS PID of 0x0010 [mchehab+huawei@kernel.org: removed an extra blank line] Signed-off-by: NDaniel W. S. Almeida <dwlsalmeida@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Daniel W. S. Almeida 提交于
The same constant (0xffffffff) is used in three different functions. Extract it into a #define to avoid repetition. Signed-off-by: NDaniel W. S. Almeida <dwlsalmeida@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
- 17 11月, 2020 2 次提交
-
-
由 Stanimir Varbanov 提交于
After initial kernel module load during kernel boot and removing the module and try to load it again an Unable to handle kernel paging request is observed: Unable to handle kernel paging request at virtual address ffffa44f7416eae0 Mem abort info: ESR = 0x96000047 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 Data abort info: ISV = 0, ISS = 0x00000047 CM = 0, WnR = 1 swapper pgtable: 4k pages, 48-bit VAs, pgdp=000000008147c000 [ffffa44f7416eae0] pgd=000000017df9f003, p4d=000000017df9f003, pud=000000017df9e003, pmd=000000017df9b003, pte=0000000000000000 Internal error: Oops: 96000047 [#1] PREEMPT SMP Modules linked in: venus_core(+) snd_soc_wsa881x regmap_sdw af_alg snd_soc_wcd934x soundwire_qcom gpio_wcd934x q6asm_dai q6routing q6adm q6afe_dai snd_soc_hdmi_codec q6afe q6asm q6dsp_common q6cor display_connector rmtfs_mem drm ip_tables x_tables ipv6 [last unloaded: venus_core] CPU: 6 PID: 889 Comm: modprobe Tainted: G W 5.10.0-rc1+ #8 Hardware name: Thundercomm Dragonboard 845c (DT) pstate: 80400085 (Nzcv daIf +PAN -UAO -TCO BTYPE=--) pc : queued_spin_lock_slowpath+0x1dc/0x3c8 lr : do_raw_spin_lock+0xc0/0x118 sp : ffff8000142cb7b0 x29: ffff8000142cb7b0 x28: 0000000000000013 x27: ffffa44f72de5690 x26: 0000000000000003 x25: ffff17c2d00f8080 x24: ffff17c2c0d78010 x23: ffff17c2c0d4f700 x22: ffff17c2d00f8080 x21: 0000000000000000 x20: ffffa44f74148000 x19: ffff17c2c0d4f8f8 x18: 0000000000000000 x17: 0000000000000000 x16: ffffa44f7342f158 x15: 0000000000000040 x14: ffffa44f746e8320 x13: 0000000000000228 x12: 0000000000000020 x11: 0000000000000000 x10: 00000000001c0000 x9 : 0000000000000000 x8 : ffff17c33d746ac0 x7 : ffff17c2c109b000 x6 : ffffa44f7416eac0 x5 : ffff17c33d746ac0 x4 : 0000000000000000 x3 : ffff17c2c0d4f8f8 x2 : ffffa44f7416eae0 x1 : ffffa44f7416eae0 x0 : ffff17c33d746ac8 Call trace: queued_spin_lock_slowpath+0x1dc/0x3c8 do_raw_spin_lock+0xc0/0x118 _raw_spin_lock_irqsave+0x80/0x14c __pm_runtime_resume+0x38/0xb8 device_link_add+0x3b8/0x5d0 core_get_v4+0x268/0x2d8 [venus_core] venus_probe+0x108/0x458 [venus_core] platform_drv_probe+0x54/0xa8 really_probe+0xe4/0x3b0 driver_probe_device+0x58/0xb8 device_driver_attach+0x74/0x80 __driver_attach+0x58/0xe8 bus_for_each_dev+0x70/0xc0 driver_attach+0x24/0x30 bus_add_driver+0x150/0x1f8 driver_register+0x64/0x120 __platform_driver_register+0x48/0x58 qcom_venus_driver_init+0x20/0x1000 [venus_core] do_one_initcall+0x84/0x458 do_init_module+0x58/0x208 load_module+0x1ec0/0x26a8 __do_sys_finit_module+0xb8/0xf8 __arm64_sys_finit_module+0x20/0x30 el0_svc_common.constprop.0+0x7c/0x1c0 do_el0_svc+0x24/0x90 el0_sync_handler+0x180/0x188 el0_sync+0x174/0x180 Code: 91002100 8b0200c2 f861d884 aa0203e1 (f8246828) ---[ end trace f1f687c15fd6b2ca ]--- note: modprobe[889] exited with preempt_count 1 After revisit the OPP part of the code I found that OPP pmdomain is detached with direct call to dev_pm_domain_detach instead of OPP wraper for detaching pmdomains with OPP table. Correct this by calling the OPP dev_pm_opp_detach_genpd. Fixes: 9a538b83 ('media: venus: core: Add support for opp tables/perf voting') Signed-off-by: NStanimir Varbanov <stanimir.varbanov@linaro.org> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Stanimir Varbanov 提交于
The profile and level in op_set_ctrl was recently changed but during v4l2_ctrl_handler_setup profile and level control values are mangled. Fixes: 435c53c3 ("media: venus: venc: Use helper to set profile and level") Signed-off-by: NStanimir Varbanov <stanimir.varbanov@linaro.org> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
- 05 11月, 2020 2 次提交
-
-
由 Jernej Skrabec 提交于
If scaling matrix control is present, VPU should not use default matrix. Fix that. Fixes: b3a23db0 ("media: cedrus: Use H264_SCALING_MATRIX only when required") Signed-off-by: NJernej Skrabec <jernej.skrabec@siol.net> Acked-by: NMaxime Ripard <mripard@kernel.org> Signed-off-by: NHans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
由 Randy Dunlap 提交于
Fix build warnings when CONFIG_PM is not set/enabled: ../drivers/media/platform/marvell-ccic/mmp-driver.c:324:12: warning: 'mmpcam_runtime_suspend' defined but not used [-Wunused-function] 324 | static int mmpcam_runtime_suspend(struct device *dev) ../drivers/media/platform/marvell-ccic/mmp-driver.c:310:12: warning: 'mmpcam_runtime_resume' defined but not used [-Wunused-function] 310 | static int mmpcam_runtime_resume(struct device *dev) Signed-off-by: NRandy Dunlap <rdunlap@infradead.org> Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: NHans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
-