Hi Shubhangi,

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on next-20160212]
[cannot apply to v4.5-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improving the system]

url:    
https://github.com/0day-ci/linux/commits/Shubhangi-Shrivastava/drm-i915-Set-invert-bit-for-hpd-based-on-VBT/20160212-203937
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-x000-201606 (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/uapi/linux/posix_types.h:4,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/drm/drm_dp_helper.h:26,
                    from drivers/gpu/drm/i915/intel_bios.c:28:
   drivers/gpu/drm/i915/intel_bios.c: In function 
'intel_bios_is_port_hpd_inverted':
   drivers/gpu/drm/i915/intel_bios.c:121:40: error: 'struct 
common_child_dev_config' has no member named 'hpd_invert'
      if (dev_priv->vbt.child_dev[i].common.hpd_invert == 1) {
                                           ^
   include/linux/compiler.h:147:28: note: in definition of macro '__trace_if'
     if (__builtin_constant_p((cond)) ? !!(cond) :   \
                               ^
>> drivers/gpu/drm/i915/intel_bios.c:121:3: note: in expansion of macro 'if'
      if (dev_priv->vbt.child_dev[i].common.hpd_invert == 1) {
      ^
   drivers/gpu/drm/i915/intel_bios.c:121:40: error: 'struct 
common_child_dev_config' has no member named 'hpd_invert'
      if (dev_priv->vbt.child_dev[i].common.hpd_invert == 1) {
                                           ^
   include/linux/compiler.h:147:40: note: in definition of macro '__trace_if'
     if (__builtin_constant_p((cond)) ? !!(cond) :   \
                                           ^
>> drivers/gpu/drm/i915/intel_bios.c:121:3: note: in expansion of macro 'if'
      if (dev_priv->vbt.child_dev[i].common.hpd_invert == 1) {
      ^
   drivers/gpu/drm/i915/intel_bios.c:121:40: error: 'struct 
common_child_dev_config' has no member named 'hpd_invert'
      if (dev_priv->vbt.child_dev[i].common.hpd_invert == 1) {
                                           ^
   include/linux/compiler.h:158:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^
>> drivers/gpu/drm/i915/intel_bios.c:121:3: note: in expansion of macro 'if'
      if (dev_priv->vbt.child_dev[i].common.hpd_invert == 1) {
      ^

vim +/if +121 drivers/gpu/drm/i915/intel_bios.c

    22   *
    23   * Authors:
    24   *    Eric Anholt <e...@anholt.net>
    25   *
    26   */
    27  
  > 28  #include <drm/drm_dp_helper.h>
    29  #include <drm/drmP.h>
    30  #include <drm/i915_drm.h>
    31  #include "i915_drv.h"
    32  #include "intel_bios.h"
    33  
    34  /**
    35   * DOC: Video BIOS Table (VBT)
    36   *
    37   * The Video BIOS Table, or VBT, provides platform and board specific
    38   * configuration information to the driver that is not discoverable or 
available
    39   * through other means. The configuration is mostly related to display
    40   * hardware. The VBT is available via the ACPI OpRegion or, on older 
systems, in
    41   * the PCI ROM.
    42   *
    43   * The VBT consists of a VBT Header (defined as &struct vbt_header), a 
BDB
    44   * Header (&struct bdb_header), and a number of BIOS Data Blocks (BDB) 
that
    45   * contain the actual configuration information. The VBT Header, and 
thus the
    46   * VBT, begins with "$VBT" signature. The VBT Header contains the 
offset of the
    47   * BDB Header. The data blocks are concatenated after the BDB Header. 
The data
    48   * blocks have a 1-byte Block ID, 2-byte Block Size, and Block Size 
bytes of
    49   * data. (Block 53, the MIPI Sequence Block is an exception.)
    50   *
    51   * The driver parses the VBT during load. The relevant information is 
stored in
    52   * driver private data for ease of use, and the actual VBT is not read 
after
    53   * that.
    54   */
    55  
    56  #define SLAVE_ADDR1     0x70
    57  #define SLAVE_ADDR2     0x72
    58  
    59  static int panel_type;
    60  
    61  /* Get BDB block size given a pointer to Block ID. */
    62  static u32 _get_blocksize(const u8 *block_base)
    63  {
    64          /* The MIPI Sequence Block v3+ has a separate size field. */
    65          if (*block_base == BDB_MIPI_SEQUENCE && *(block_base + 3) >= 3)
    66                  return *((const u32 *)(block_base + 4));
    67          else
    68                  return *((const u16 *)(block_base + 1));
    69  }
    70  
    71  /* Get BDB block size give a pointer to data after Block ID and Block 
Size. */
    72  static u32 get_blocksize(const void *block_data)
    73  {
    74          return _get_blocksize(block_data - 3);
    75  }
    76  
    77  static const void *
    78  find_section(const void *_bdb, int section_id)
    79  {
    80          const struct bdb_header *bdb = _bdb;
    81          const u8 *base = _bdb;
    82          int index = 0;
    83          u32 total, current_size;
    84          u8 current_id;
    85  
    86          /* skip to first section */
    87          index += bdb->header_size;
    88          total = bdb->bdb_size;
    89  
    90          /* walk the sections looking for section_id */
    91          while (index + 3 < total) {
    92                  current_id = *(base + index);
    93                  current_size = _get_blocksize(base + index);
    94                  index += 3;
    95  
    96                  if (index + current_size > total)
    97                          return NULL;
    98  
    99                  if (current_id == section_id)
   100                          return base + index;
   101  
   102                  index += current_size;
   103          }
   104  
   105          return NULL;
   106  }
   107  
   108  bool
   109  intel_bios_is_port_hpd_inverted(struct drm_device *dev, enum port port)
   110  {
   111          struct drm_i915_private *dev_priv = dev->dev_private;
   112          int i;
   113  
   114          if (!IS_BROXTON(dev)) {
   115                  DRM_ERROR("Bit inversion is not required in this 
platform\n");
   116                  return false;
   117          }
   118  
   119          for (i = 0; i < dev_priv->vbt.child_dev_num; i++) {
   120  
 > 121                  if (dev_priv->vbt.child_dev[i].common.hpd_invert == 1) {
   122  
   123                          switch 
(dev_priv->vbt.child_dev[i].common.dvo_port) {
   124                          case DVO_PORT_DPA:

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to