এসপিআই লেনদেনের সময়সীমা লিনাক্স ডিভাইস ড্রাইভার


11

আমি এক পর্যায়ে গত 3 দিন আটকে আছি।

আমি এমএসএম 8960 কোয়েলকমের চিপসেট সহ আইঙ্ক ডিভাইস ড্রাইভারের সাথে কাজ করছি।

Scenario: ফাইলে: কার্নেল / খিলান / আর্ম / মাচ-এমএসএম / ডিভাইস-8960.c

আমি সম্পর্কিত use of spidm_channels" and "spidm_crci"এবং সংশ্লিষ্ট এন্ট্রিগুলি যাচাই করতে পারি না । (এমএসএম 8960 প্রো) (কিছু রেফারেন্স কোড থেকে অনুলিপি করা হয়েছে) কীভাবে যাচাই করবেন কীভাবে সম্পর্কিত মানগুলি start and endসঠিক কিনা ?? আমার কাছে এমএসএম এর জন্য ডেটশিট রয়েছে তবে কোনও রেফারেন্স খুঁজে পাচ্ছি না।

ফাইলটিতে একটি নতুন জিএসবিআই রিসোর্স তৈরি করতে আমি নিম্নলিখিত কোডটি যুক্ত করেছি:

static struct resource resources_qup_spi_gsbi9[] = {
    {
            .name   = "spi_base",
            .start  = MSM_GSBI9_QUP_PHYS,
            .end    = MSM_GSBI9_QUP_PHYS + SZ_4K - 1,
            .flags  = IORESOURCE_MEM,
    },
    {
            .name   = "gsbi_base",
            .start  = MSM_GSBI9_PHYS,
            .end    = MSM_GSBI9_PHYS + 4 - 1,
            .flags  = IORESOURCE_MEM,
    },
    {
            .name   = "spi_irq_in",
            .start  = GSBI9_QUP_IRQ,
            .end    = GSBI9_QUP_IRQ,
            .flags  = IORESOURCE_IRQ,
    },
    {
             .name   = "spidm_channels",
            .start  = 3,
            .end    = 4,
            .flags  = IORESOURCE_DMA,
    },
    {
            .name   = "spidm_crci",
            .start  = 12,
            .end    = 13,
            .flags  = IORESOURCE_DMA,
    }, 
};

এই সন্দেহ হওয়ার কারণটি হ'ল আমাদের ডিএমএ অপারেশনটি ত্রুটির সাথে ব্যর্থ হচ্ছে: লগ থেকে:

<6>[    0.764932] wait_for_ready: I/F Ready.^M
<7>[    0.765176] s1d13522_ spi9.0: setup mode 0, 16 bits/w, 51200000 Hz max --> 0^M
<3>[    1.756630] spi_qsd spi_qsd.9: msm_spi_process_transfer: SPI transaction timeout^M

এবং তারপরে আমরা যদি অন্য ডিএমএ ক্রিয়াকলাপটি চালানোর চেষ্টা করি তবে এটি নিম্নলিখিত ত্রুটিটি দেয়:

<3>[    6.773355] s1d13522if_cmd: wait_for_ready: I/F busy bit stuck^M
<7>[    6.775400] s1d13522_ spi9.0: setup mode 0, 16 bits/w, 51200000 Hz max --> 0^M
<4>[    6.775583] ------------[ cut here ]------------^M
<4>[    6.775614] WARNING: at /home/anshul_10605816/hip_mirror_2330_code/kernel        /lib/list_debug.c:32 __list_add+0x58/0x78()^M
<4>[    6.775644] list_add corruption. prev->next should be next (c0d5124c), but was 00100100. (prev=edf643b8).^M
<4>[    6.775675] Modules linked in:^M
<4>[    6.775766] [<c00149b8>] (unwind_backtrace+0x0/0x11c) from [<c007c818>] (warn_slowpath_common+0x4c/0x64)^M
<4>[    6.775827] [<c007c818>] (warn_slowpath_common+0x4c/0x64) from [<c007c8b0>] (warn_slowpath_fmt+0x2c/0x3c)^M
<4>[    6.775888] [<c007c8b0>] (warn_slowpath_fmt+0x2c/0x3c) from [<c02a9538>] (__list_add+0x58/0x78)^M
<4>[    6.775919] [<c02a9538>] (__list_add+0x58/0x78) from [<c001e3d4>] (start_ready_cmd+0x84/0x13c)^M
<4>[    6.775980] [<c001e3d4>] (start_ready_cmd+0x84/0x13c) from [<c001e704>] (msm_dmov_enqueue_cmd_ext_work+0x148/0x284)^M
<4>[    6.776041] [<c001e704>] (msm_dmov_enqueue_cmd_ext_work+0x148/0x284) from [<c0094e0c>] (process_one_work+0x27c/0x484)^M
<4>[    6.776072] [<c0094e0c>] (process_one_work+0x27c/0x484) from [<c0095224>] (worker_thread+0x210/0x3b0)^M
<4>[    6.776133] [<c0095224>] (worker_thread+0x210/0x3b0) from [<c00990c0>] (kthread+0x80/0x8c)^M
<4>[    6.776194] [<c00990c0>] (kthread+0x80/0x8c) from [<c000f108>] (kernel_thread_exit+0x0/0x8)^M
<4>[    6.776224] ---[ end trace da227214a82491b8 ]---^M
<3>[   11.766732] spi_qsd spi_qsd.9: msm_spi_process_transfer: SPI transaction timeout^M

কোন সাহায্যের অত্যন্ত প্রশংসা হবে।

যদি আরও কোনও কোড তথ্যের প্রয়োজন হয় তবে দয়া করে আমাকে জানান।

উত্তর:


1

কেবলমাত্র চালক নয়, আপনার প্ল্যাটফর্মের উপর রিসোর্স সেটআপ নির্ভর করে।

আপনার এসপিআই বাসটি সরাসরি টার্গেট চিপসেটটি সরাসরি ব্যবহারের আগে এটি ব্যবহার করার আগে একটি ধারণা হতে পারে। আমি বাসে কিছু প্রেরণ এবং লজিকাল বিশ্লেষক বা অ্যাসিলোস্কোপে ফলাফল পর্যবেক্ষণ করতে স্পাইডিভ ইন্টারফেস এবং একটি ব্যবহারকারী স্পেস কোড ব্যবহার করার পরামর্শ দিই। আমি সাধারণত নতুন বোর্ডগুলি যাচাই করার জন্য এটি করি।

তালিকা_এড যোগ করা দুর্নীতি সন্দেহজনক, তবে সেই সময়ে আরও বলা শক্ত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.