Re: [PATCH v9 1/3] i915/gvt: Separate the MMIO tracking table from GVT-g

From: Jani Nikula
Date: Wed Apr 13 2022 - 06:18:45 EST


On Wed, 13 Apr 2022, "Wang, Zhi A" <zhi.a.wang@xxxxxxxxx> wrote:
> Hi Jani:
>
> Previously when I sent a pull request, it will be top of a tag in drm-intel-next. The following patches move the DMC related registers, which is used by GVT-g into intel_dmc_regs.h and it is not included in the latest tag.
>
> commit 9c67d9e84c7d4a3a2371a54ee2dddc4699002000
> Author: Jani Nikula <jani.nikula@xxxxxxxxx>
> Date: Wed Mar 30 14:34:17 2022 +0300
>
> drm/i915/dmc: split out dmc registers to a separate file
>
> Clean up the massive i915_reg.h a bit with this isolated set of
> registers.
>
> v2: Remove stale comment (Lucas)
>
> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
> Reviewed-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
> Link: https://patchwork.freedesktop.org/patch/msgid/20220330113417.220964-3-jani.nikula@xxxxxxxxx
>
> If I still sent the pull request based on the latest tag, after the pull got merged, the compiling of the GVT-g module will be broken, as a new header needs to be included.
>
> Can I sent my pull request not based on a tag in drm-intel-next, just the latest drm-intel-next?

Yes.

I think you can also backmerge drm-intel-next to your branch whenever
there's a dependency you need, or otherwise want to sync up. (Please do
*not* backmerge drm-intel-gt-next or drm-next directly.)


BR,
Jani.

>
> Thanks,
> Zhi.
>
> On 4/13/22 9:31 AM, Jani Nikula wrote:
>> On Fri, 08 Apr 2022, "Wang, Zhi A" <zhi.a.wang@xxxxxxxxx> wrote:
>>> Hi Jani:
>>>
>>> Thanks so much for the help. Can you generate a new tag on
>>> drm-intel-next? I noticed that there was one patch moving the DMC
>>> related registers into display/intel_dmc_regs.h, which is not included
>>> in the latest tag on drm-intel-next.
>>
>> Sorry, I'm not sure what you're asking exactly. We do tags when we
>> create pull requests for drm-next, but I don't see the connection to
>> gvt.
>>
>> BR,
>> Jani.
>>
>>>
>>> Guess it would be better that I can change this patch according to it
>>> when checking in. This would prevent a conflict in future.
>>>
>>> Thanks,
>>> Zhi.
>>>
>>> On 4/7/22 3:03 PM, Jani Nikula wrote:
>>>> On Thu, 07 Apr 2022, Zhi Wang <zhi.wang.linux@xxxxxxxxx> wrote:
>>>>> diff --git a/drivers/gpu/drm/i915/intel_gvt.h b/drivers/gpu/drm/i915/intel_gvt.h
>>>>> index d7d3fb6186fd..7665d7cf0bdd 100644
>>>>> --- a/drivers/gpu/drm/i915/intel_gvt.h
>>>>> +++ b/drivers/gpu/drm/i915/intel_gvt.h
>>>>> @@ -26,7 +26,17 @@
>>>>>
>>>>> struct drm_i915_private;
>>>>>
>>>>> +#include <linux/kernel.h>
>>>>
>>>> You only need <linux/types.h>. Please add it before the forward
>>>> declaration above.
>>>>
>>>>> +
>>>>> #ifdef CONFIG_DRM_I915_GVT
>>>>> +
>>>>> +struct intel_gvt_mmio_table_iter {
>>>>> + struct drm_i915_private *i915;
>>>>> + void *data;
>>>>> + int (*handle_mmio_cb)(struct intel_gvt_mmio_table_iter *iter,
>>>>> + u32 offset, u32 size);
>>>>> +};
>>>>> +
>>>>> int intel_gvt_init(struct drm_i915_private *dev_priv);
>>>>> void intel_gvt_driver_remove(struct drm_i915_private *dev_priv);
>>>>> int intel_gvt_init_device(struct drm_i915_private *dev_priv);
>>>>> @@ -34,6 +44,7 @@ void intel_gvt_clean_device(struct drm_i915_private *dev_priv);
>>>>> int intel_gvt_init_host(void);
>>>>> void intel_gvt_sanitize_options(struct drm_i915_private *dev_priv);
>>>>> void intel_gvt_resume(struct drm_i915_private *dev_priv);
>>>>> +int intel_gvt_iterate_mmio_table(struct intel_gvt_mmio_table_iter *iter);
>>>>> #else
>>>>> static inline int intel_gvt_init(struct drm_i915_private *dev_priv)
>>>>> {
>>>>> @@ -51,6 +62,16 @@ static inline void intel_gvt_sanitize_options(struct drm_i915_private *dev_priv)
>>>>> static inline void intel_gvt_resume(struct drm_i915_private *dev_priv)
>>>>> {
>>>>> }
>>>>> +
>>>>> +unsigned long intel_gvt_get_device_type(struct drm_i915_private *i915)
>>>>> +{
>>>>> + return 0;
>>>>> +}
>>>>
>>>> The CONFIG_DRM_I915_GVT=y counterpart for this is in mmio.h. Should be
>>>> both in the same header.
>>>>
>>>>> +
>>>>> +int intel_gvt_iterate_mmio_table(struct intel_gvt_mmio_table_iter *iter)
>>>>> +{
>>>>> + return 0;
>>>>> +}
>>>>> #endif
>>>>>
>>>>> #endif /* _INTEL_GVT_H_ */
>>>>> diff --git a/drivers/gpu/drm/i915/intel_gvt_mmio_table.c b/drivers/gpu/drm/i915/intel_gvt_mmio_table.c
>>>>> new file mode 100644
>>>>> index 000000000000..d29491a6d209
>>>>> --- /dev/null
>>>>> +++ b/drivers/gpu/drm/i915/intel_gvt_mmio_table.c
>>>>> @@ -0,0 +1,1290 @@
>>>>> +// SPDX-License-Identifier: MIT
>>>>> +/*
>>>>> + * Copyright © 2020 Intel Corporation
>>>>> + */
>>>>> +
>>>>> +#include "i915_drv.h"
>>>>> +#include "i915_reg.h"
>>>>> +#include "display/vlv_dsi_pll_regs.h"
>>>>> +#include "gt/intel_gt_regs.h"
>>>>> +#include "intel_mchbar_regs.h"
>>>>> +#include "i915_pvinfo.h"
>>>>> +#include "intel_gvt.h"
>>>>> +#include "gvt/gvt.h"
>>>>
>>>> Generally we have the include lists sorted.
>>>>
>>>> Other than the nitpicks above, the series is
>>>>
>>>> Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx>
>>>>
>>>>
>>>> BR,
>>>> Jani.
>>>>
>>>>
>>>
>>
>

--
Jani Nikula, Intel Open Source Graphics Center