1. 04 Jan, 2012 4 commits
    • Mauro Carvalho Chehab's avatar
      [media] dvb_frontend: Don't use ops->info.type anymore · 5bfaadde
      Mauro Carvalho Chehab authored
      Get rid of using ops->info.type defined on DVB drivers,
      as it doesn't apply anymore.
      
      Currently, one driver (cxd2820) supports more than one different
      info.type, as it can be used for DVB-T/T2 and DVB-C. There are more
      drivers like that to come. So, the same frontend will have
      
      different DVBv3 types, depending on the current delivery system.
      
      This breaks the existing logic at dvb_frontend, that assumes that
      just one delivery system DVBv3 type is supported by all delsys.
      
      In order to easy the DVBv3->DVBv5 conversion, an ancillary function
      that maps DVBv3 delivery systems into DVBv5 were added.
      
      Also, on all places, except for the event logic, the DVBv5 cache
      will be used to check parameters, instead of the DVBv5 copy.
      
      This patch simplifies the cache sync logic, and warrants that the
      cache will be in a clear state at DVB frontend register. This way,
      ops->info.type will be filled to reflect the first delivery system,
      providing backward compatibility support for it.
      
      For example, in the cases like cxd2820, where the delivery systems
      are defined as:
              .delsys = { SYS_DVBT, SYS_DVBT2, SYS_DVBC_ANNEX_A },
      
      A pure DVBv3 will be able to use both DVB-T and DVB-T2, as, at
      DVB cache clear, the ops->info.type will be equal to FE_OFDM.
      
      However, DVB-C won't be visible. A quick workaround would be to
      do a DVBv5 call to set the delivery system to SYS_DVBC_ANNEX_A.
      
      After such call, ops->info.type will be equal to FE_QAM, and a
      DVBv3 application will see the frontend as a DVB-C one.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      5bfaadde
    • Mauro Carvalho Chehab's avatar
      [media] dvb: move dvb_set_frontend logic into a separate routine · 9682cea2
      Mauro Carvalho Chehab authored
      This change is there in order to prepare the code to avoid calling
       dvb_frontend_ioctl_legacy() from FE_SET_PROPERTY.
      
      A call to dvb_frontend_ioctl_legacy() would require to update the
      DVBv3 cache without need, mangling calls for newer delivery system
      without any reason.
      
      No functional changes here.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      9682cea2
    • Mauro Carvalho Chehab's avatar
      [media] dvb_frontend: Handle all possible DVBv3 values for bandwidth · 9a27e6a0
      Mauro Carvalho Chehab authored
      Due to DVB-T2, several new possible values for bandwidth were added.
      As the DVBv3 struct were updated to handle them, the core needs to
      handle all of them, as a DVBv3 application might try to use it.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      9a27e6a0
    • Mauro Carvalho Chehab's avatar
      [media] dvb: Initialize all cache values · 26c924fe
      Mauro Carvalho Chehab authored
      By default, initialize the frontend current delivery system with
      the first one. This warrants that a DVBv3 application will be able
      to tune to it, after the removal of ops->init.type filling at
      the drivers.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      26c924fe
  2. 01 Jan, 2012 1 commit
  3. 31 Dec, 2011 35 commits