You need to sign in or sign up before continuing.
  1. 17 10月, 2013 4 次提交
  2. 14 10月, 2013 1 次提交
  3. 24 8月, 2013 1 次提交
    • M
      [media] sms: fix randconfig building error · 6c84b214
      Mauro Carvalho Chehab 提交于
      As reported by Jim Davis <jim.epost@gmail.com>,
      building with:
      	CONFIG_USB=m
      	CONFIG_SMS_USB_DRV=m
      	CONFIG_SMS_SDIO_DRV=y
      	CONFIG_SMS_SIANO_MDTV=y
      	CONFIG_SMS_SIANO_DEBUGFS=y
      
      causes a build error:
      
      	drivers/built-in.o: In function `smsdvb_debugfs_register':
      	/home/jim/linux/drivers/media/common/siano/smsdvb-debugfs.c:537:
      	undefined reference to `usb_debug_root'
      	make: *** [vmlinux] Error 1
      
      That happens because the siano-mdtv is builtin, while USB is a
      module. As it makes not much sense to have sms-usb compiled as 'm'
      and sms-sdio compiled as 'y' (or vice-versa), only allow enabling
      debugfs if both are either 'y' or 'm'.
      Reported-by: NJim Davis <jim.epost@gmail.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      6c84b214
  4. 22 8月, 2013 1 次提交
    • B
      [media] siano: fix divide error on 0 counters · ec532503
      Bjørn Mork 提交于
      GIT_AUTHOR_DATE=1376465691
      I took a quick look at the code and wonder if the problem is caused by
      an initial zero statistics message?  This is all just a wild guess, but
      if it is correct, then the attached untested patch might fix it...
      Bjørn
      >From d78a0599d5b5d4da384eae08bf7da316389dfbe5 Mon Sep 17 00:00:00 2001
      ts_packets and ets_packets counters can be 0.  Don't fall over
      if they are. Fixes:
      [  846.851711] divide error: 0000 [#1] SMP
      [  846.851806] Modules linked in: smsdvb dvb_core ir_lirc_codec lirc_dev ir_sanyo_decoder ir_mce_kbd_decoder ir_sony_decoder ir_jvc_decoder ir_rc6_decoder ir_rc5_decoder ir_nec_decoder rc_hauppauge smsusb smsmdtv rc_core pci_stub vboxpci(O) vboxnetadp(O) vboxnetflt(O) vboxdrv(O) parport_pc ppdev lp parport cpufreq_userspace cpufreq_powersave cpufreq_stats cpufreq_conservative rfcomm bnep binfmt_misc uinput nfsd auth_rpcgss oid_registry nfs_acl nfs lockd dns_resolver fscache sunrpc ext4 jbd2 fuse tp_smapi(O) thinkpad_ec(O) loop firewire_sbp2 dm_crypt snd_hda_codec_conexant snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm thinkpad_acpi nvram snd_page_alloc hid_generic snd_seq_midi snd_seq_midi_event arc4 usbhid snd_rawmidi uvcvideo hid iwldvm coretemp kvm_intel mac8021
       1 cdc_wdm
      [  846.853477]  cdc_acm snd_seq videobuf2_vmalloc videobuf2_memops videobuf2_core videodev media kvm radeon r852 ttm joydev cdc_ether usbnet pcmcia mii sm_common nand btusb drm_kms_helper tpm_tis acpi_cpufreq bluetooth iwlwifi nand_ecc drm nand_ids i2c_i801 mtd snd_seq_device iTCO_wdt iTCO_vendor_support r592 memstick lpc_ich mperf tpm yenta_socket pcmcia_rsrc pcmcia_core cfg80211 snd_timer snd pcspkr i2c_algo_bit crc16 i2c_core tpm_bios processor mfd_core wmi psmouse mei_me rfkill mei serio_raw soundcore evdev battery button video ac microcode ext3 mbcache jbd md_mod dm_mirror dm_region_hash dm_log dm_mod sg sr_mod sd_mod cdrom crc_t10dif firewire_ohci sdhci_pci sdhci mmc_core firewire_core crc_itu_t thermal thermal_sys ahci libahci ehci_pci uhci_hcd ehci_hcd libata scsi_mod usbcore e1000
       e usb_common
      [  846.855310]  ptp pps_core
      [  846.855356] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G           O 3.10-2-amd64 #1 Debian 3.10.5-1
      [  846.855490] Hardware name: LENOVO 4061WFA/4061WFA, BIOS 6FET92WW (3.22 ) 12/14/2011
      [  846.855609] task: ffffffff81613400 ti: ffffffff81600000 task.ti: ffffffff81600000
      [  846.855636] RIP: 0010:[<ffffffffa092be0c>]  [<ffffffffa092be0c>] smsdvb_onresponse+0x264/0xa86 [smsdvb]
      [  846.863906] RSP: 0018:ffff88013bc03cf0  EFLAGS: 00010046
      [  846.863906] RAX: 0000000000000000 RBX: ffff880133bf6000 RCX: 0000000000000000
      [  846.863906] RDX: 0000000000000000 RSI: ffff88005d3b58c0 RDI: ffff880133bf6000
      [  846.863906] RBP: ffff88005d1da000 R08: 0000000000000058 R09: 0000000000000015
      [  846.863906] R10: 0000000000001a0d R11: 000000000000021a R12: ffff88005d3b58c0
      [  846.863906] R13: ffff88005d1da008 R14: 00000000ffffff8d R15: ffff880036cf5060
      [  846.863906] FS:  0000000000000000(0000) GS:ffff88013bc00000(0000) knlGS:0000000000000000
      [  846.863906] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [  846.863906] CR2: 00007f3a4b69ae50 CR3: 0000000036dac000 CR4: 00000000000407f0
      [  846.863906] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  846.863906] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      [  846.863906] Stack:
      [  846.863906]  ffff88007a102000 ffff88005d1da000 ffff88005d3b58c0 0000000000085824
      [  846.863906]  ffffffffa08c5aa3 ffff88005d1da000 ffff8800a6907390 ffff8800a69073b0
      [  846.863906]  ffff8800a6907000 ffffffffa08b642c 000000000000021a ffff8800a69073b0
      [  846.863906] Call Trace:
      [  846.863906]  <IRQ>
      [  846.863906]
      [  846.863906]  [<ffffffffa08c5aa3>] ? smscore_onresponse+0x1d5/0x353 [smsmdtv]
      [  846.863906]  [<ffffffffa08b642c>] ? smsusb_onresponse+0x146/0x192 [smsusb]
      [  846.863906]  [<ffffffffa004cb1a>] ? usb_hcd_giveback_urb+0x6c/0xac [usbcore]
      [  846.863906]  [<ffffffffa0217be1>] ? ehci_urb_done+0x62/0x72 [ehci_hcd]
      [  846.863906]  [<ffffffffa0217c82>] ? qh_completions+0x91/0x364 [ehci_hcd]
      [  846.863906]  [<ffffffffa0219bba>] ? ehci_work+0x8a/0x68e [ehci_hcd]
      [  846.863906]  [<ffffffff8107336c>] ? timekeeping_get_ns.constprop.10+0xd/0x31
      [  846.863906]  [<ffffffff81064d41>] ? update_cfs_rq_blocked_load+0xde/0xec
      [  846.863906]  [<ffffffff81058ec2>] ? run_posix_cpu_timers+0x25/0x575
      [  846.863906]  [<ffffffffa021aa46>] ? ehci_irq+0x211/0x23d [ehci_hcd]
      [  846.863906]  [<ffffffffa004c0c1>] ? usb_hcd_irq+0x31/0x48 [usbcore]
      [  846.863906]  [<ffffffff810996fd>] ? handle_irq_event_percpu+0x49/0x1a4
      [  846.863906]  [<ffffffff8109988a>] ? handle_irq_event+0x32/0x4b
      [  846.863906]  [<ffffffff8109bd76>] ? handle_fasteoi_irq+0x80/0xb6
      [  846.863906]  [<ffffffff8100e93e>] ? handle_irq+0x18/0x20
      [  846.863906]  [<ffffffff8100e657>] ? do_IRQ+0x40/0x95
      [  846.863906]  [<ffffffff813883ed>] ? common_interrupt+0x6d/0x6d
      [  846.863906]  <EOI>
      [  846.863906]
      [  846.863906]  [<ffffffff812a011c>] ? arch_local_irq_enable+0x4/0x8
      [  846.863906]  [<ffffffff812a04f3>] ? cpuidle_enter_state+0x52/0xc1
      [  846.863906]  [<ffffffff812a0636>] ? cpuidle_idle_call+0xd4/0x143
      [  846.863906]  [<ffffffff8101398c>] ? arch_cpu_idle+0x5/0x17
      [  846.863906]  [<ffffffff81072571>] ? cpu_startup_entry+0x10d/0x187
      [  846.863906]  [<ffffffff816b3d3d>] ? start_kernel+0x3e8/0x3f3
      [  846.863906]  [<ffffffff816b3777>] ? repair_env_string+0x54/0x54
      [  846.863906]  [<ffffffff816b3598>] ? x86_64_start_kernel+0xf2/0xfd
      [  846.863906] Code: 25 09 00 00 c6 83 da 08 00 00 03 8b 45 54 48 01 83 b6 08 00 00 8b 45 50 48 01 83 db 08 00 00 8b 4d 18 69 c1 ff ff 00 00 03 4d 14 <48> f7 f1 89 83 a8 09 00 00 e9 68 fe ff ff 48 8b 7f 10 e8 79 92
      [  846.863906] RIP  [<ffffffffa092be0c>] smsdvb_onresponse+0x264/0xa86 [smsdvb]
      [  846.863906]  RSP <ffff88013bc03cf0>
      Reference: http://bugs.debian.org/719623Reported-by: NJohannes Rohr <jorohr@gmail.com>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      ec532503
  5. 17 6月, 2013 2 次提交
  6. 13 6月, 2013 1 次提交
  7. 22 5月, 2013 1 次提交
  8. 21 5月, 2013 1 次提交
  9. 15 4月, 2013 1 次提交
  10. 08 4月, 2013 1 次提交
  11. 05 4月, 2013 1 次提交
  12. 29 3月, 2013 1 次提交
  13. 24 3月, 2013 1 次提交
  14. 22 3月, 2013 2 次提交
  15. 21 3月, 2013 21 次提交
    • M
      [media] siano: make some functions static · 2bf0f93e
      Mauro Carvalho Chehab 提交于
      drivers/media/common/siano/smsdvb-debugfs.c:51:6: warning: no previous prototype for 'smsdvb_print_dvb_stats' [-Wmissing-prototypes]
      drivers/media/common/siano/smsdvb-debugfs.c:154:6: warning: no previous prototype for 'smsdvb_print_isdb_stats' [-Wmissing-prototypes]
      drivers/media/common/siano/smsdvb-debugfs.c:244:6: warning: no previous prototype for 'smsdvb_print_isdb_stats_ex' [-Wmissing-prototypes]
      drivers/media/common/siano/smscoreapi.c:832:5: warning: no previous prototype for 'smscore_configure_board' [-Wmissing-prototypes]
      drivers/media/common/siano/smscoreapi.c:1301:5: warning: no previous prototype for 'smscore_init_device' [-Wmissing-prototypes]
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      2bf0f93e
    • M
      [media] siano: Fix the remaining checkpatch.pl compliants · 05ad412a
      Mauro Carvalho Chehab 提交于
      Fix all other remaining checkpatch.pl compliants on the Siano driver,
      except for the 80-cols (soft) limit. Those are harder to fix, and
      probably not worth to do right now.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      05ad412a
    • M
      [media] siano: remove the remaining CamelCase compliants · 28a59df4
      Mauro Carvalho Chehab 提交于
      Remove the remaining CamelCase checkpatch.pl compliants.
      There are still a few left, but those are due to USB and
      DVB APIs.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      28a59df4
    • M
      [media] siano: fix checkpatch.pl compliants on smscoreapi.h · 90414248
      Mauro Carvalho Chehab 提交于
      Fix the remaining checkpatch.pl compliants at smscoreapi.h,
      except by the "line over 80 characters" on comments. Fixing those
      would require more time, as the better is to convert them into the
      struct descriptions used inside the kernel, as described at:
      	Documentation/kernel-doc-nano-HOWTO.txt
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      90414248
    • M
      [media] siano: convert structure names to lowercase · cf0e9cfc
      Mauro Carvalho Chehab 提交于
      There are several structures defined in uppercase. Convert them
      to lowercase, and simplify their names, when possible.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      cf0e9cfc
    • M
      [media] siano: get rid of CammelCase from smscoreapi.h · dfef84fc
      Mauro Carvalho Chehab 提交于
      It is almost impossible to see a compliant with checkpatch.pl
      on those Siano drivers, as there are simply too much violations
      on it. So, now that a big change was done, the better is to
      cleanup the checkpatch compliants.
      
      Let's first replace all CammelCase symbols found at smscoreapi.h
      using camel_case namespace. That removed 144 checkpatch.pl
      compliants on this file. Of course, the other files need to be
      fixed accordingly.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      dfef84fc
    • M
      [media] siano: add MODULE_FIRMWARE() macros · c8b8fdb3
      Mauro Carvalho Chehab 提交于
      This driver can use several firmwares. Provide such info at
      module firmware metadata.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      c8b8fdb3
    • M
      [media] siano: use defines for firmware names · 11ad03a5
      Mauro Carvalho Chehab 提交于
      There are too many firmwares there. As we need to add
      MODULE_FIMWARE() macros, the better is to define their names
      on just one place and use the macros for both cards/device type
      tables and MODULE_FIRMWARE().
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      11ad03a5
    • M
      [media] siano: Remove bogus complain about MSG_SMS_DVBT_BDA_DATA · d8a18e88
      Mauro Carvalho Chehab 提交于
      When the driver is tuned into chanel, and it is removed/reinserted,
      the message stream data may be arriving during device probe:
      	[ 5680.162004] smscore_set_device_mode: set device mode to 6
      	[ 5680.162267] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.162391] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.162641] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.162891] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.163016] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.163266] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.163516] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.163640] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.163891] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.164016] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.164265] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.164515] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.164519] smscore_onresponse: Firmware id 6 prots 0x40 ver 8.1
      	[ 5680.164766] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.166018] smscore_onresponse: message MSG_SMS_DVBT_BDA_DATA(693) not handled.
      	[ 5680.166438] DVB: registering new adapter (Siano Rio Digital Receiver)
      Instead of complaining, just silently discard those messages, instead of
      complaining.
      A proper fix is to put the device on suspend/power down mode when the module
      is removed.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      d8a18e88
    • M
      [media] siano: remove doubled new line · 98c3f94e
      Mauro Carvalho Chehab 提交于
      sms_debug() and sms_info() already adds a '\n' at the printed
      strings. No need to add more.
      That helps to cleanup stuff like:
      	[ 4868.205648] smscore_onresponse: message not handled.
      	[ 4868.205898] smscore_onresponse: message not handled.
      and:
      	[ 5467.959769] smscore_onresponse:
      	data rate 143069 bytes/secs
      While here, provides the message name, when the message is not
      handled by the smsmdtv core.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      98c3f94e
    • M
      [media] siano: reorder smscore_get_fw_filename() function · 2a764315
      Mauro Carvalho Chehab 提交于
      Put this function earlier in the code, to avoid the need of
      defining a function stub.
      No functional changes.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      2a764315
    • M
      [media] siano: remove the bogus firmware lookup code · e584f9d6
      Mauro Carvalho Chehab 提交于
      There is an special lookup code that is called when
      SMS_BOARD_UNKNOWN. The logic there is bogus and will cause
      an oops, as .type is SMS_UNKNOWN_TYPE (-1).
      As the code would do:
      	return smscore_fw_lkup[type][mode];
      That would mean that it would try to go past the
      smscore_fw_lkup table.
      So, just remove that bogus code, simplifying the logic.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      e584f9d6
    • M
      [media] siano: honour per-card default mode · 9711a8a6
      Mauro Carvalho Chehab 提交于
      Instead of using a global default_mode, passed via modprobe
      parameter, use the one defined inside the cards struct.
      That will prevent the need of manually specify it for each
      board, except, of course, if the user wants to do something
      different, on boards that accept multiple types.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      9711a8a6
    • M
      [media] siano: simplify firmware lookup logic · 5ac14b60
      Mauro Carvalho Chehab 提交于
      There are two ways to specify firmware for siano devices: a
      per-device ID and a per-device type.
      The per-device type logic is currently made by a 11x9 string
      table, sparsely filled. It is very hard to read the table at
      the source code, as there are too much "none" filling there
      ("none" there is a way to tell NULL).
      Instead of using such problematic table, convert it into an
      easy to read table, where the unused values will be defaulted
      to NULL.
      While here, also simplifies a little bit the logic and print
      a message if an user-selected mode doesn't exist.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      5ac14b60
    • M
      [media] siano: add support for .poll on debugfs · 6a28bd94
      Mauro Carvalho Chehab 提交于
      Implement poll() method for debugfs and be sure that the
      debug_data won't be freed on ir or on read().
      With this change, poll() will return POLLIN if either data was
      filled or if data was read. That allows read() to return 0
      to indicate EOF in the latter case.
      As poll() is now provided, fix support for non-block mode.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      6a28bd94
    • M
      [media] siano: fix status report with old firmware and ISDB-T · 773adad1
      Mauro Carvalho Chehab 提交于
      This seems to be ever broken. That's the status report with
      Firmware 2.1, before adding support for sms2270 is:
      [22273.787218] smsdvb_onresponse: MSG_SMS_GET_STATISTICS_RES
      [22273.792592] IsRfLocked = 1
      [22273.792592] IsDemodLocked = 1
      ...
      [22273.792598] TransmissionMode = -64
      ...
      (all unshown fields are filled with zeros)
      Of course, transmission mode being a negative number is wrong.
      So, we need to take a deeper look on it.
      With the debugfs patches applied, it is possible to see that, instead
      of filling StatisticsType with 5, and FullSize with the size of the
      payload (this is what happens with sms2270 and firmware 8.1),
      those fields are also initialized with zero:
      StatisticsType = 0	FullSize = 0
      IsRfLocked = 1		IsDemodLocked = 1	IsExternalLNAOn = 0
      SNR = 0 dB		RSSI = 0 dBm		InBandPwr = 0 dBm
      CarrierOffset = 0	Bandwidth = 0		Frequency = 0 Hz
      TransmissionMode = -64	ModemState = 0		GuardInterval = 0
      SystemType = 0		PartialReception = 0	NumOfLayers = 0
      SmsToHostTxErrors = 0
      The data under "TransmissionMode" varies according with the signal,
      and it is negative. It also matches the value for InBandPwr when
      the tuner is on DVB-T (ok, signal doesn't lock, but the power level
      should be about the same with the antena fixed, and measured at about
      the same time).
      So, there's a very high chance that, when StatisticsType is zero, the
      signal strength is at the same position as Transmission Mode.
      So, discard all other parameters, and provide only signal/rf lock and
      signal strength if StatisticsType is 0, for ISDB-T.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      773adad1
    • M
      [media] siano: Only feed DVB data when there's a feed · e1b2ac4d
      Mauro Carvalho Chehab 提交于
      Right now, the driver sends DVB data even before tunning.
      It was noticed that this may lead into some mistakes at DVB
      decode, as the PIDs from wrong channels may be associated with
      another frequency, as they may already be inside the PID buffers.
      So, prevent it by not feeding DVB demux with data while there's no
      feed or while the device is not tuned.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      e1b2ac4d
    • M
      [media] siano: Fix bandwidth report · 5c3b8743
      Mauro Carvalho Chehab 提交于
      It was expected that the bandwidth would be following the defines
      at smscoreapi.h. However, this doesn't work. Instead, this field
      brings just the bandwidth in MHz. Convert it to Hertz.
      It should be noticed that, on ISDB, using the _EX request, the
      field TuneBW seems to show the value that matches the bandwidth
      code.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      5c3b8743
    • M
      [media] siano: fix PER/BER report on DVBv5 · 9671045f
      Mauro Carvalho Chehab 提交于
      The check for lock logic is broken. Due to that, no PER/BER
      stats will ever be showed, and the DVBV3 events will be wrong.
      Also, the per-layer PER/BER stats for ISDB-T are filled with
      the wrong index.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      9671045f
    • M
      [media] siano: fix signal strength and CNR stats measurements · f5de95e2
      Mauro Carvalho Chehab 提交于
      There are a number of small issues with the stats refactoring:
      	- InBandPwr better represents the signal strength;
      	- Don't zero signal strength /cnr if no lock;
      	- Fix signal strength/cnr scale;
      	- Don't need to fill PER/BER if not locked, as the
      	  code will disable those stats anyway.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      f5de95e2
    • M
      [media] siano: don't request statistics too fast · a9b9fbdf
      Mauro Carvalho Chehab 提交于
      As each DVBv3 call may generate an stats overhead, prevent doing
      it too fast. This is specially useful if a burst of get stats
      DVBv3 call is sent.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      a9b9fbdf