All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [chrome-os:chromeos-4.19 27/50] drivers/gpu/drm/drm_hdcp.c:235:6: warning: no previous prototype for 'drm_hdcp_request_srm'
Date: Fri, 13 Nov 2020 18:00:39 +0800	[thread overview]
Message-ID: <202011131835.Fa2NEvT9-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 5027 bytes --]

tree:   https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.19
head:   b9a3f5405fb3783912a70780b9f51b8942feed91
commit: 9602e2b071719b0f1e22a3a9ea2f5f3a6ba8f272 [27/50] UPSTREAM: drm: revocation check at drm subsystem
config: powerpc-ppc6xx_defconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
        git fetch --no-tags chrome-os chromeos-4.19
        git checkout 9602e2b071719b0f1e22a3a9ea2f5f3a6ba8f272
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc 

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

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/drm_hdcp.c:235:6: warning: no previous prototype for 'drm_hdcp_request_srm' [-Wmissing-prototypes]
     235 | void drm_hdcp_request_srm(struct drm_device *drm_dev)
         |      ^~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_hdcp.c:317:5: warning: no previous prototype for 'drm_setup_hdcp_srm' [-Wmissing-prototypes]
     317 | int drm_setup_hdcp_srm(struct class *drm_class)
         |     ^~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_hdcp.c:327:6: warning: no previous prototype for 'drm_teardown_hdcp_srm' [-Wmissing-prototypes]
     327 | void drm_teardown_hdcp_srm(struct class *drm_class)
         |      ^~~~~~~~~~~~~~~~~~~~~

vim +/drm_hdcp_request_srm +235 drivers/gpu/drm/drm_hdcp.c

   234	
 > 235	void drm_hdcp_request_srm(struct drm_device *drm_dev)
   236	{
   237		char fw_name[36] = "display_hdcp_srm.bin";
   238		const struct firmware *fw;
   239	
   240		int ret;
   241	
   242		ret = request_firmware_direct(&fw, (const char *)fw_name,
   243					      drm_dev->dev);
   244		if (ret < 0)
   245			goto exit;
   246	
   247		if (fw->size && fw->data)
   248			drm_hdcp_srm_update(fw->data, fw->size);
   249	
   250	exit:
   251		release_firmware(fw);
   252	}
   253	
   254	/**
   255	 * drm_hdcp_check_ksvs_revoked - Check the revoked status of the IDs
   256	 *
   257	 * @drm_dev: drm_device for which HDCP revocation check is requested
   258	 * @ksvs: List of KSVs (HDCP receiver IDs)
   259	 * @ksv_count: KSV count passed in through @ksvs
   260	 *
   261	 * This function reads the HDCP System renewability Message(SRM Table)
   262	 * from userspace as a firmware and parses it for the revoked HDCP
   263	 * KSVs(Receiver IDs) detected by DCP LLC. Once the revoked KSVs are known,
   264	 * revoked state of the KSVs in the list passed in by display drivers are
   265	 * decided and response is sent.
   266	 *
   267	 * SRM should be presented in the name of "display_hdcp_srm.bin".
   268	 *
   269	 * Returns:
   270	 * TRUE on any of the KSV is revoked, else FALSE.
   271	 */
   272	bool drm_hdcp_check_ksvs_revoked(struct drm_device *drm_dev, u8 *ksvs,
   273					 u32 ksv_count)
   274	{
   275		u32 rev_ksv_cnt, cnt, i, j;
   276		u8 *rev_ksv_list;
   277	
   278		if (!srm_data)
   279			return false;
   280	
   281		mutex_lock(&srm_data->mutex);
   282		drm_hdcp_request_srm(drm_dev);
   283	
   284		rev_ksv_cnt = srm_data->revoked_ksv_cnt;
   285		rev_ksv_list = srm_data->revoked_ksv_list;
   286	
   287		/* If the Revoked ksv list is empty */
   288		if (!rev_ksv_cnt || !rev_ksv_list) {
   289			mutex_unlock(&srm_data->mutex);
   290			return false;
   291		}
   292	
   293		for  (cnt = 0; cnt < ksv_count; cnt++) {
   294			rev_ksv_list = srm_data->revoked_ksv_list;
   295			for (i = 0; i < rev_ksv_cnt; i++) {
   296				for (j = 0; j < DRM_HDCP_KSV_LEN; j++)
   297					if (ksvs[j] != rev_ksv_list[j]) {
   298						break;
   299					} else if (j == (DRM_HDCP_KSV_LEN - 1)) {
   300						DRM_DEBUG("Revoked KSV is ");
   301						drm_hdcp_print_ksv(ksvs);
   302						mutex_unlock(&srm_data->mutex);
   303						return true;
   304					}
   305				/* Move the offset to next KSV in the revoked list */
   306				rev_ksv_list += DRM_HDCP_KSV_LEN;
   307			}
   308	
   309			/* Iterate to next ksv_offset */
   310			ksvs += DRM_HDCP_KSV_LEN;
   311		}
   312		mutex_unlock(&srm_data->mutex);
   313		return false;
   314	}
   315	EXPORT_SYMBOL_GPL(drm_hdcp_check_ksvs_revoked);
   316	
 > 317	int drm_setup_hdcp_srm(struct class *drm_class)
   318	{
   319		srm_data = kzalloc(sizeof(*srm_data), GFP_KERNEL);
   320		if (!srm_data)
   321			return -ENOMEM;
   322		mutex_init(&srm_data->mutex);
   323	
   324		return 0;
   325	}
   326	
 > 327	void drm_teardown_hdcp_srm(struct class *drm_class)

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 29443 bytes --]

                 reply	other threads:[~2020-11-13 10:00 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202011131835.Fa2NEvT9-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.